mysql 数据库 ON DUPLICATE KEY UPDATE 的使用

在做项目中我们经常会遇到这样的问题、像数据库写入一条数据、如果记录存在、我们便想更新这条记录、如果不存在、便想插入这条记录、通常的做法是先查询一下、如果有就update、如果没有就insert、这个过程难免有点纠结、还好、mysql数据库为我们提供了类似这样的东西、Oracle的是merge into、这里讲讲mysql  ON DUPLICATE KEY UPDATE 的使用。

插入sql:

INSERT into user (user_id,user_name)values(10000,'yahe11') ON DUPLICATE KEY UPDATE user_id=user_id

 当用户id为10000的记录存在的时候就更新、当不存在时就插入数据库,ON DUPLICATE KEY UPDATE 必须接唯一索引字段、

INSERT into user (id,name)values(10000,'yahe444411') ON DUPLICATE KEY UPDATE id=id+1

 这样、如果id为10000存在、运行第一次,只更新id到10001,影响行为二行,运行第二次插入新记录id为10001到数据库,影响行为1,当然如果id+1这条记录也存在、会直接报错

如果不存在、直接插入记录、

猜你喜欢

转载自yahesmile.iteye.com/blog/1964763