mysql - MySQL 错误代码 1062 与 1022 的差异

标签 mysql

MySQL 错误代码的回顾让我对 1022 和 1062 之间的区别感到困惑(参见 https://dev.mysql.com/doc/refman/5.6/en/error-messages-server.html )。我目前无法访问测试 MySQL 数据库来进行进一步调查。

那么,MySQL 错误代码 1022 和 1062(它们都说 dup key)有什么区别?

尝试插入现有主键会引发什么问题?

尝试插入非主键的现有唯一键会引发什么问题?

最佳答案

1062 和 1022 错误代码之间的差异:

  • 1062 - 当您尝试插入导致重复条目的行时,无论哪种类型的键(主键、唯一键等)都无关紧要。
  • 1022 - 似乎有不同的用途,例如,您可以在使用重复键创建表时获取它。

MySQL 引用:

Error: 1022 SQLSTATE: 23000 (ER_DUP_KEY)
Message: Can't write; duplicate key in table '%s'
Error: 1062 SQLSTATE: 23000 (ER_DUP_ENTRY)
Message: Duplicate entry '%s' for key %d

MySQL NET 常量:

MySqlErrorCode.DuplicateKey = 1022;
MySqlErrorCode.DuplicateKeyEntry = 1062;

关于mysql - MySQL 错误代码 1062 与 1022 的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30111330/

相关文章:

php - 网络安全 : where to begin

php - 当事件被触发时,我需要在 x 时间后检查某些内容?

mysql - Entity Framework 5 codefirst与mysql

PHP SELECT distinct 不回显变量?

mysql - 如何从mysql表中删除重复的文本记录

php - Mediawiki 运行rebuildtextindex.php 使得短语搜索需要几分钟

mysql - 查询以替换表中的空值

PHP MySQL 查询从两个不同的表中获得最受欢迎

mysql - 将 mysql 数据库转换为 pg 数据库

php - 在 yii2 中插入数据库?