数据库:如果存在则“更新”如果不存在则插入 [重复]

Posted

技术标签:

【中文标题】数据库:如果存在则“更新”如果不存在则插入 [重复]【英文标题】:Database : if exists 'update' if not exists insert [duplicate] 【发布时间】:2016-11-19 09:15:01 【问题描述】:

如何编写 php 函数

如果 数据库查询中存在的行应该是更新 别的 插入查询

【问题讨论】:

【参考方案1】:

您不必使用 php 来实现。您可以使用 ON DUPLICATE KEY 使用纯 SQL 语法来做到这一点:

查看mysql INSERT ... ON DUPLICATE KEY

如果您指定 ON DUPLICATE KEY UPDATE,并且插入的行会导致 UNIQUE 索引或 PRIMARY KEY 中的重复值,MySQL 将对旧行执行 UPDATE。例如,如果列 a 被声明为 UNIQUE 并且包含值 1,则以下两个语句具有相似的效果:

例子:

INSERT INTO table (id, name, age) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE    
name="A", age=19

【讨论】:

以上是关于数据库:如果存在则“更新”如果不存在则插入 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如果存在则更新,否则插入[重复]

如果存在则如何更新,否则在php mysql中插入[重复]

如果不存在Mysql,则插入[重复]

如果数据存在,则更新其他插入,使用子查询或等的mysql [重复]

HSQLDB 如果不存在则插入,如果存在则更新

MySql -- 不存在则插入,存在则更新或忽略