J'ai une table avec une colonne, appelons-la table_column
Qui est actuellement null
pour toutes les lignes de la table. Je voudrais insérer la valeur "test"
Dans cette colonne pour toutes les lignes. Quelqu'un peut-il me donner le SQL pour cela?
J'ai essayé INSERT INTO table (table_column) VALUES ("test");
mais cela ne remplit que la dernière ligne. Comment puis-je faire toutes les lignes à la fois?
Vous recherchez MISE À JOUR ne pas insérer.
UPDATE mytable
SET table_column = 'test';
UPDATE modifiera les valeurs des lignes existantes (et peut inclure un WHERE pour qu'il n'affecte que des lignes spécifiques), tandis que INSERT ajoute une nouvelle ligne (ce qui donne l'impression qu'elle n'a changé que la dernière ligne, mais en fait, ajoute une nouvelle ligne avec cette valeur).
En effet, dans la terminologie de la base de données relationnelle, ce que vous voulez faire n'est pas appelé "insertion", mais "MISE À JOUR" - vous mettez à jour le champ d'une ligne existante à partir d'une valeur (NULL dans votre cas) pour "tester"
UPDATE your_table SET table_column = "test"
WHERE table_column = NULL
Vous n'avez pas besoin de la deuxième ligne si vous souhaitez mettre à jour 100% des lignes.
Ce que vous faites, c'est ajouter des lignes. Pour mettre à jour le contenu des lignes existantes, utilisez l'instruction UPDATE:
UPDATE table SET table_column = 'test';
UPDATE `table` SET table_column='test';
Le SQL dont vous avez besoin est:
Update table set table_column = "test";
Le code SQL que vous avez publié crée une nouvelle ligne plutôt que de mettre à jour les lignes existantes.