本意想通过下面的语句,将tmp2的记录写入tmp1,要求写入时,如果唯一键存在,使用tmp2.num更新tmp1.num,其他值不变,如果唯一键不存在,就直接插入。
insert into tmp1 select * from tmp2 onduplicate key num=tmp2.num;
但执行不了,请问如何修改已达到上面要求?
insert into tmp1 select * from tmp2 onduplicate key num=tmp2.num;
但执行不了,请问如何修改已达到上面要求?
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
如下
insert into tmp1 select * from tmp2 on duplicate key update num=VALUES(num);
create table tmp2(id int,id1 int,num int,unique key(id,id1));
insert into tmp1 select * from tmp2 group by id,id1 on duplicate key update num=tmp2.num;执行不了。请帮忙看看怎样改正?
不错,关键就是后面这个 values()的使用。