MySQL错误代码1062与1022的差异

时间:2015-05-07 20:46:09

标签: mysql

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

那么,MySQL错误代码1022和1062之间有什么区别(他们都说双键)?

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

尝试插入不是主键的现有唯一键会引发什么?

1 个答案:

答案 0 :(得分:0)

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;