比如说我想这样,当where成立的时候才做更新,否则就不更新,我用下面的写法是错误的
INSERT INTO table1 SET field1=aa, field2=bb, field3=cc
ON DUPLICATE KEY UPDATE SET field1=aa, field2=bb, field3=cc WHERE field4=zz;
那么应该怎么改呢?
应该这样
INSERT INTO table1 SET
field1=aa,
field2=bb,
field3=cc
ON DUPLICATE KEY UPDATE SET
field1 = IF( field4 = zz, aa, field1 ),
field2 = IF( field4 = zz, bb, field2 ),
field3 = IF( field4 = zz, cc, field3 )
用IF
如果满足条件,那么就用新值更新,否则保留原值
版权声明:本文为lqq404270201原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。