数据库
首页 > 数据库> > mysql – UPDATE记录(如果存在);否则INSERT

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