web-dev-qa-db-ja.com

同じ固定値を複数の行に挿入します

列を持つテーブルがあるので、それを_table_column_と呼びましょう。これは現在テーブルのすべての行に対してnullです。すべての行のその列に値_"test"_を挿入したいと思います。誰かがこのためのSQLを教えてもらえますか?

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

32
TheDelChop

探しているのは [〜#〜] update [〜#〜] not insertです。

UPDATE mytable
SET    table_column = 'test';

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

74
Brad Christie

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

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

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

19
DVK

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

UPDATE table SET table_column = 'test';
2
Nicolas Buduroi
UPDATE `table` SET table_column='test';
1
Damodharan R

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

Update table set table_column = "test";

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

1
James Lelyveld