mysql – UPDATE记录(如果存在);否则INSERT
作者:互联网
我想更新表中可能存在或可能不存在的记录.如果它不在数据库中,那么它将被插入.
为了防止选择我首先使用UPDATE语句并检查affected_rows>如果没有,那么我将此记录插入表中.
我想知道是否有更好的方法来做到这一点?
解决方法:
您可以使用INSERT … ON DUPLICATE KEY UPDATE语法:
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
http://dev.mysql.com/doc/refman/4.1/en/insert-on-duplicate.html
这与REPLACE(Femaref的答案)之间的区别在于REPLACE将删除旧行,然后在重复键时插入新行,而这将更新现有行.
标签:mysql,insert-update 来源: https://codeday.me/bug/20190723/1517938.html