SQL的INSERT IGNORE用法

INSERT IGNOREON DUPLICATE KEY UPDATE 在处理插入操作中遇到唯一键冲突时有着不同的行为:

  1. INSERT IGNORE:当使用 INSERT IGNORE 时,如果插入的数据中存在与现有记录的主键或唯一键相同的值,则 MySQL 会忽略该条记录的插入,而不会引发错误。换句话说,如果冲突发生,MySQL 将简单地跳过这条插入语句,不执行任何插入或更新操作,也不会返回错误。

  2. ON DUPLICATE KEY UPDATE:相比之下,ON DUPLICATE KEY UPDATE 在发生主键或唯一键冲突时会执行指定的更新操作。这意味着如果插入的数据中存在与现有记录的主键或唯一键相同的值,则 MySQL 将尝试更新现有记录,而不是简单地忽略或跳过插入操作。您可以在 ON DUPLICATE KEY UPDATE 子句中指定要执行的更新操作。

因此,虽然两者都用于处理唯一键冲突,但它们的行为方式是不同的。INSERT IGNORE 主要用于在不想处理冲突时忽略插入操作,而 ON DUPLICATE KEY UPDATE 则用于在发生冲突时执行特定的更新操作。

相关推荐

  1. SQL中LIMIT简单

    2024-03-20 06:16:03       50 阅读
  2. SQLINSERT IGNORE

    2024-03-20 06:16:03       38 阅读
  3. SQL中WITH RECURSIVE

    2024-03-20 06:16:03       39 阅读
  4. SQL中PIVOT函数

    2024-03-20 06:16:03       94 阅读
  5. SQL中distinct

    2024-03-20 06:16:03       30 阅读
  6. STL:string常见

    2024-03-20 06:16:03       49 阅读
  7. mybatis xml 文件 sql include

    2024-03-20 06:16:03       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-20 06:16:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-20 06:16:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-20 06:16:03       87 阅读
  4. Python语言-面向对象

    2024-03-20 06:16:03       96 阅读

热门阅读

  1. 程序运行时,常见存储区分类及作用

    2024-03-20 06:16:03       37 阅读
  2. 无法加载DLL“SQLite.Interop.dll“:找不到指定模块

    2024-03-20 06:16:03       44 阅读
  3. ES-Hadoop:将Elasticsearch与Hadoop无缝集成的开源工具

    2024-03-20 06:16:03       38 阅读
  4. 【ML】逻辑回归、生成式与判别式引出 3

    2024-03-20 06:16:03       44 阅读
  5. C#面:什么是自定义异常

    2024-03-20 06:16:03       39 阅读
  6. [游戏开发][Unity] 导出Xcode工程,完成调试与发布

    2024-03-20 06:16:03       40 阅读
  7. Android 逆向(三)-adb常用逆向命令

    2024-03-20 06:16:03       38 阅读
  8. C++ 类模板

    2024-03-20 06:16:03       40 阅读