[插入时唯一索引冲突则变为更新]
mysql的insert语句有一个比较少见的可选子句: ON DUPLICATE KEY UPDATE col_name=expr, ...
用法是:
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;
例如,如果列a被定义为UNIQUE,并且包含值1,则执行以上语句与下面的结果一样
UPDATE table SET c=c+1 WHERE a=1
即插入时使唯一键冲突,则会执行update语句,where条件为该冲突的键值
详细说明参见:
[同时删除两个表的记录]
DELETE tb1,tb2
FROM tb1,tb2
WHERE tb1.id = tb2.tb1_id AND tb1.id = xxx
阅读(932) | 评论(0) | 转发(0) |