mysql:服务器错误代码

mysql:服务器错误代码

服务器错误代码和消息

原文:https://dev.mysql.com/doc/refman/5.7/en/error-messages-server.html

MySQL的程序有几种类型的错误信息时,服务器会返回一个错误。例如,在MySQL客户端程序使用下面的格式显示错误:

shell> SELECT * FROM no_such_table;
ERROR 1146 (42S02): Table 'test.no_such_table' doesn't exist

显示的信息包含三类信息:

  • 一个数字错误代码(1146)。这个数字是MySQL特定的和不可移植到其他数据库系统。

  • 一个五个字符的SQLSTATE值('42S02')。该值是从ANSI SQL和ODBC和更加规范。不是所有的MySQL错误数都有相应的SQLSTATE值。在这些情况下,“hy000”(一般使用错误)

  • 消息字符串,文本的描述提供了一个错误。

检查错误,使用错误代码,没有错误信息。错误信息不会经常改变,但它是可能的。如果数据库管理员更改语言设置,影响错误消息的语言。

错误代码是稳定在给定的MySQL系列GA释放。一系列达到GA之前,新的代码仍然可以与学科化发展下。

服务器错误信息来自下面的源文件。有关错误信息的定义方式的细节,看MySQL内部手册

  • 错误信息中列出share/errmsg-utf8.txt文件% d%s代表数字和字符串,分别被替换到消息时,显示值。

  • 上市的错误值share/errmsg-utf8.txt用于生成定义包括/ mysqld_error。Hinclude/mysqld_ername.hMySQL的源文件

  • 上市的SQLSTATE值share/errmsg-utf8.txt用于生成定义包括_ state.h / SQLMySQL的源文件

由于更新频繁,这是可能的,这些文件将包含额外的错误信息没有列在这里。