1

データベースに 2 つのテーブルがあり、最初のテーブルには存在するが 2 番目のテーブルには存在しないすべてのレコードを検索したいと考えています。次に、最初のテーブルから id と名前 (残りのフィールドは除く) を 2 番目のテーブルにコピーし、2 番目のテーブルの 3 番目の列に値を設定します。これを使用してレコードを取得しています:

SELECT table1.* FROM table1 WHERE NOT EXISTS (SELECT * FROM table2 WHERE
table2.id = table1.id)

しかし、INSERT コマンドの適切な構文がわかりません。始まると思います

INSERT INTO table2 [id,name]

しかし、その後何を指定しますか?

4

1 に答える 1

4

このような:

INSERT INTO table2 (col1, col2, col3) VALUES (1, 2, 3);

選択から挿入を行う場合、次のようになります。

INSERT INTO table2 (id, name, thirdCol)
SELECT (table1.id, table1.name, 'Whatever value') FROM table1
WHERE NOT EXISTS (SELECT id FROM table2 WHERE table2.id = table1.id);
于 2012-11-17T20:08:58.183 に答える