'where not exists clause' 中的未知列

Unknown column in 'where not exists clause'

有很多关于 "where not exists" 类型插入的答案,希望您指定要插入的列。我有超过 400 列,并且两个表具有相同的架构。

未知列也有很多答案,但我无法在 insert where not exists 语句中找到答案。我无法理解这个问题,希望这里有人能提供帮助。

这里是sqlfiddlehttp://sqlfiddle.com/#!9/70a34b/1

这是我试过的几个查询之一:

INSERT INTO test1 
SELECT * FROM test2 b 
WHERE NOT EXISTS(SELECT * FROM test2 c WHERE test1.go = c.go);

我在 'where clause'

中收到错误未知列 'test1.go'

只需翻转您的 table 名字即可。请记住,您正在尝试从 table2 中插入 table1,其中值尚未在 TABLE1.[=18= 中]

将查询更改为:

 INSERT INTO test1 
 SELECT * FROM test2 b 
 WHERE NOT EXISTS(SELECT * FROM test1 c WHERE c.go = b.go);