1

我的数据库中有两个表,我想查找第一个表中存在但第二个表中不存在的所有记录。然后我想将第一个表中的 id 和名称(但不是其余字段)复制到第二个表中,并为第二个表中的第三列设置一个值。我正在使用它来获取记录:

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 回答