有些时候我们需要插入数据库的时候,遇到唯一的键值希望更新而并非引发错误,这样就可以保持数据库中的数据在不重复的同时保持到最新。这时我们就可以使用on duplicate key update语句。这条语句是这样规定的:
比如我们希望向table中的a, b, c三个列添加数据1, 2, 3 ,结果已经这个表中的a, b, c中一个是主键或者是UNIQUE INDEX这种唯一键值,且恰表里面有这个值了(也就是可以触发唯一的键值重复),这条语句便会执行update后面的子句了。当然,如果没触发唯一键值的重复,自然就要执行Insert语句了。
详细见: [url]http://lunae.cc/about-on-duplicate-key-update[/url]
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
比如我们希望向table中的a, b, c三个列添加数据1, 2, 3 ,结果已经这个表中的a, b, c中一个是主键或者是UNIQUE INDEX这种唯一键值,且恰表里面有这个值了(也就是可以触发唯一的键值重复),这条语句便会执行update后面的子句了。当然,如果没触发唯一键值的重复,自然就要执行Insert语句了。
详细见: [url]http://lunae.cc/about-on-duplicate-key-update[/url]