1.做项目的时候经常碰到这样的问题,要判断DB中是否存在一条记录,根据主键判断,如果存在就更新信息,如果不存在就新建一条记录。
以前的做法是先根据主键去查找是否存在记录,找到就update,找不到就insert。需要写两条语句。
2.偶然在一个项目中看到on duplicate key update 的写法,很简单的解决了上面的问题,而且只需要写一条语句。
例如 t_user 表结构:
id name
1 测试1
2 测试2
insert into t_user(id,name) values(1,'测试一下') on duplicate key update name = VALUES(name);
这样更新或者添加都可以用一条语句执行,省事了。完美解决。-.- 0.0 >.<