INSERT INTO SELECT 不加重复值,执行报错
sti01 2017-09-15 09:48:45 INSERT INTO table1 (a,b,c) SELECT (d,e,concat( '字符1',f,'字符2')) FROM table2 WHERE d NOT IN (SELECT a FROM table1);
这条语句是需要将table2中的数据插入table1,字段对应赋值d=>a,e=>b,concat( '字符1',f,'字符2')=>c,同时如果d值已在table1的a字段中存在,则为重复值,不添加。
执行后显示错误:Operand should contain 1 column(s)
删除SELECT后面的括号后,语句变为
INSERT INTO table1 (a,b,c) SELECT d,e,concat( '字符1',f,'字符2') FROM table2 WHERE d NOT IN (SELECT a FROM table1);
执行后错误提示为:
Duplicate entry 'a字段的值' for key 'a'
请问,这语句应怎样写?