“错误号”和“ SQLSTATE CODE”有什么区别?

时间:2019-02-17 15:51:32

标签: mysql error-handling

在下面的此链接中,我看到Error numberSQLSTATE code。我想知道两者之间的区别。

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

例如,从上面的链接中,

  

错误号: 1005 ;符号:ER_CANT_CREATE_TABLE; SQLSTATE: HY000

1 个答案:

答案 0 :(得分:2)

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

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

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

  •   

区别在于前者是MySQL发明的,后者符合ANSI SQL。