我的数据库中有两个表,我想查找第一个表中存在但不存在第二个表的所有记录。然后我想将第一个表中的id和名称(但不是其余字段)复制到第二个表中,并为第二个表中的第三列设置一个值。我用它来获取记录:
SELECT table1.* FROM table1 WHERE NOT EXISTS (SELECT * FROM table2 WHERE
table2.id = table1.id)
但我不确定INSERT命令的正确语法。我想它会开始
INSERT INTO table2 [id,name]
但之后又说明了什么?
答案 0 :(得分:4)
像这样:
INSERT INTO table2 (col1, col2, col3) VALUES (1, 2, 3);
如果你正在从select中进行插入,它将如下所示:
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);