`
蹲街吃豆腐
  • 浏览: 6989 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

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这条记录也存在、会直接报错

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

分享到:
评论

相关推荐

    mysql数据库Insert语句后面加ON DUPLICATE KEY UPDATE,保证唯一性1

    当你在`INSERT`语句后添加`ON DUPLICATE KEY UPDATE`,如果新插入的行违反了唯一性约束,MySQL将执行指定的`UPDATE`操作。这里的“唯一性”指的是任何具有唯一索引或主键的列。例如,如果你有一个名为`consume_locus...

    [mysql]mysql通过on duplicate key update实现批量插入或更新(csdn)————程.pdf

    在MySQL数据库中,`ON DUPLICATE KEY UPDATE` 是一个非常实用的特性,它允许你在执行INSERT语句时,如果插入的数据违反了唯一性约束(即存在相同的唯一索引),则自动执行UPDATE操作来更新已有记录。这个功能在处理...

    深入mysql ON DUPLICATE KEY UPDATE 语法的分析

    mysql “ON DUPLICATE KEY UPDATE” 语法如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE;如果不会导致唯一值列...

    Mysql中Insert into xxx on duplicate key update问题

    ON DUPLICATE KEY UPDATE` 是MySQL的非标准扩展,其他数据库系统可能不支持这种语法。因此,在编写跨数据库兼容的SQL代码时,需要特别注意这一点。 如果你想了解更多关于`INSERT`、`UPDATE`和其他DML语句的使用,...

    mysql ON DUPLICATE KEY UPDATE语句示例

    在MySQL数据库中,`ON DUPLICATE KEY UPDATE` 是一个非常实用的特性,它允许你在插入新数据时,如果遇到重复的唯一键值,自动执行更新操作,而不是抛出错误。这个功能大大简化了数据处理的流程,特别是当你需要在一...

    MySQL的Replace into 与Insert into on duplicate key update真正的不同之处

    ON DUPLICATE KEY UPDATE`是两种处理数据冲突的方法,它们在处理已有键值冲突时的行为有所不同。这两种语句都是在插入新记录时,如果发现存在相同的唯一键值,则采取不同的策略。 1. `REPLACE INTO`: - 当尝试...

    MYSQL的REPLACE和ON DUPLICATE KEY UPDATE语句介绍解决问题实例

    ON DUPLICATE KEY UPDATE`都是MySQL提供的强大工具,它们可以帮助我们更高效、更精确地管理数据库中的数据,特别是处理需要确保数据唯一性和排序顺序的情况下。通过合理利用这些语句,我们可以减少数据库操作的复杂...

    深入mysql "ON DUPLICATE KEY UPDATE" 语法的分析

    MySQL的`ON DUPLICATE KEY UPDATE`语法是一种特殊的数据插入机制,它允许你在尝试插入新记录时,如果遇到唯一约束冲突(比如主键或唯一索引的值已经存在),则自动更新已有记录。这个特性在处理数据导入、同步或批量...

    mysql 中 replace into 与 insert into on duplicate key update 的用法和不同点实例分析

    在MySQL中,`REPLACE INTO` 和 `INSERT INTO ON DUPLICATE KEY UPDATE` 是两种处理数据插入时冲突的方法,主要用于处理当试图插入一条记录,而该记录的唯一键或主键已经在表中存在的情况。这两种方法都可以实现如果...

    Mysql ON DUPLICATE KEY Update

    MySQL中的`ON DUPLICATE KEY UPDATE`语句是一个非常实用的功能,它允许你在插入新记录时检查是否存在冲突的唯一键。如果遇到冲突(即试图插入的键已经存在),它会更新已有记录而不是抛出错误。这在处理批量导入或...

    mysql如何实现 如果存在就update更新,不存在再insert插入.zip

    在MySQL数据库中,如果你需要执行一个操作,即当数据存在时进行更新,如果不存在则进行插入,你可以使用`INSERT INTO...ON DUPLICATE KEY UPDATE`语句。这个功能强大的语句结合了`INSERT`和`UPDATE`操作,允许你在...

    MySQL中如何处理重复数据(Duplicate)?

    ON DUPLICATE KEY UPDATE 语句是在 MySQL 中处理重复数据的常用方法。该语句在插入数据时,如果遇到唯一键冲突(即主键或有唯一索引的字段),则会执行更新操作。示例: INSERT INTO table_name (col1, col2, col3...

    insert into … on duplicate key update / replace into 多行数据介绍

    ON DUPLICATE KEY UPDATE` 和 `REPLACE INTO` 是MySQL中处理批量插入并更新已有数据的两种有效策略,它们提供了在保持数据完整性和性能之间平衡的解决方案。根据具体业务需求和数据约束,选择合适的方法来优化数据...

    INSERT INTO .. ON DUPLICATE KEY更新多行记录

    ON DUPLICATE KEY UPDATE` 是 MySQL 数据库中的一种高效操作,它结合了插入新记录和更新已有记录的功能。这个语句主要用于处理唯一性约束冲突,如 PRIMARY KEY 或 UNIQUE 索引的情况。当试图插入的记录与现有记录在...

    mysql insert的几点操作(DELAYED,IGNORE,ON DUPLICATE KEY UPDATE )

    MySQL中的`INSERT`语句是用于向数据库表中插入新数据的命令,它有多种变体,包括`DELAYED`, `IGNORE`, 和 `ON DUPLICATE KEY UPDATE`。这些选项提供了不同的处理策略,以适应不同场景的需求。 1. **DELAYED**: `...

    mysql 原生语句中save 的写法汇总.docx

    在 MySQL 中,我们可以使用 ON DUPLICATE KEY UPDATE 关键字来实现数据不存在则插入,存在则更新的操作。判断数据重复的逻辑依然是主键冲突或者唯一键冲突。 例如,以下是使用 ON DUPLICATE KEY UPDATE 关键字的...

Global site tag (gtag.js) - Google Analytics