46

table_column列を持つテーブルがあります。現在null、テーブルのすべての行にあるテーブルを呼び出しましょう。"test"すべての行のその列に値を挿入したいと思います。誰かがこれのSQLを教えてくれますか?

私は試しまし INSERT INTO table (table_column) VALUES ("test");たが、それは最後の行にのみ入力されます。一度にすべての行を実行するにはどうすればよいですか?

4

7 に答える 7

96

挿入ではなくUPDATEを探しています。

UPDATE mytable
SET    table_column = 'test';

UPDATE は既存の行の値を変更します (特定の行にのみ影響を与えるように WHERE を含めることができます) が、INSERT は新しい行を追加します (最後の行だけを変更したように見えますが、実際には新しい行を追加しています)。その値を持つ行)。

于 2011-01-14T16:17:20.387 に答える
26

これは、リレーショナル データベースの用語では、実行したいことは「挿入」ではなく「更新」と呼ばれるためです。既存の行のフィールドを 1 つの値 (この場合は NULL) から「テスト」に更新します。

UPDATE your_table SET table_column = "test" 
WHERE table_column = NULL 

行の 100% を更新する場合は、2 行目は必要ありません。

于 2011-01-14T16:17:44.010 に答える
2

実際に行っているのは、行の追加です。既存の行の内容を更新するには、UPDATE ステートメントを使用します。

UPDATE table SET table_column = 'test';
于 2011-01-14T16:19:00.937 に答える
1
UPDATE `table` SET table_column='test';
于 2011-01-14T16:17:49.450 に答える
1

必要な SQL は次のとおりです。

Update table set table_column = "test";

投稿した SQL は、既存の行を更新するのではなく、新しい行を作成します。

于 2011-01-14T16:18:51.887 に答える