ON DUPLICATE KEY UPDATE的用法

比如需执行:

INSERT INTO user(id,name,age) VALUES(1,'sys',20) ON DUPLICATE KEY UPDATE age = age + 1;

当id是主键时,且user中没有id为1的值,上面的sql就会变成如下:

INSERT INTO user(id,name,age) VALUES(1,'sys',20)

当id是主键时,且user中有id为1的值,上面的sql就会变成如下:

UPDATE user SET age = age + 1 WHERE id=1;

当id不是主键时,上面的sql就会变成如下:

INSERT INTO user(id,name,age) VALUES(1,'sys',20);

 

*合理利用ON DUPLICATE KEY UPDATE来判断当前是新增还是修改,这个是mysql的特殊语法。

正在加载评论...