首页 > 解决方案 > “错误号”和“SQLSTATE CODE”有什么区别?

问题描述

在下面的这个链接中,我看到了Error numbers 和SQLSTATE code. 我想知道这两者之间的区别。

https://dev.mysql.com/doc/refman/5.5/en/server-error-reference.html

例如从上面的链接,

错误号:1005;符号:ER_CANT_CREATE_TABLE;SQL状态:HY000

标签: mysqlerror-handling

解决方案


您链接到的页面有一个指向附近文档页面的链接:https ://dev.mysql.com/doc/refman/5.5/en/error-message-components.html

  • 错误代码:此值为数字。它是 MySQL 特有的,不能移植到其他数据库系统。

  • SQLSTATE 值:该值是五个字符的字符串(例如,'42S02')。SQLSTATE 值取自 ANSI SQL 和 ODBC,比数字错误代码更标准化。

不同的是前者是MySQL发明的,后者符合ANSI SQL。


推荐阅读