文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  错误信息和常见问题  /  错误信息接口

B.2 错误信息接口

错误信息可能源自服务器端或客户端,并且每个错误信息都包含错误代码、SQLSTATE 值和消息字符串,如 第 B.1 节 “错误信息来源和元素” 中所述。有关服务器端、客户端和全局(服务器和客户端之间共享)错误的列表,请参阅 MySQL 9.0 错误信息参考

要从程序内部进行错误检查,请使用错误代码编号或符号,而不是错误消息字符串。消息字符串不经常更改,但也有可能更改。此外,如果数据库管理员更改了语言设置,则会影响消息字符串的语言;请参阅 第 12.12 节 “设置错误信息语言”

MySQL 中的错误信息在服务器错误日志、SQL 级别、客户端程序内部以及命令行中可用。

错误日志

在服务器端,某些消息旨在用于错误日志。有关配置服务器写入日志的位置和方式的信息,请参阅 第 7.4.2 节 “错误日志”

其他服务器错误消息旨在发送到客户端程序,并且如 客户端错误信息接口 中所述。

特定错误代码所在的范围决定了服务器是将错误消息写入错误日志还是将其发送到客户端。有关这些范围的信息,请参阅 错误代码范围

SQL 错误信息接口

在 SQL 级别,MySQL 中有几个错误信息来源

客户端错误信息接口

客户端程序从两个来源接收错误

  • 源自 MySQL 客户端库内部客户端的错误。

  • 源自服务器端并由服务器发送到客户端的错误。这些错误是在客户端库中接收的,客户端库使主机客户端程序可以使用它们。

特定错误代码所在的范围决定了它是源自客户端库内部还是由客户端从服务器接收的。有关这些范围的信息,请参阅 错误代码范围

无论错误是源自客户端库内部还是从服务器接收的,MySQL 客户端程序都通过调用客户端库中的 C API 函数来获取错误代码、SQLSTATE 值、消息字符串和其他相关信息

有关客户端库错误函数的说明,请参阅 MySQL 9.0 C API 开发者指南

MySQL 客户端程序可以多种方式响应错误。客户端可以显示错误消息,以便用户可以采取纠正措施,在内部尝试解决或重试失败的操作,或采取其他操作。例如,(使用 mysql 客户端),无法连接到服务器可能会导致出现以下消息

$> mysql -h no-such-host
ERROR 2005 (HY000): Unknown MySQL server host 'no-such-host' (-2)

命令行错误信息接口

perror 程序从命令行提供有关错误代码的信息。请参阅 第 6.8.1 节 “perror — 显示 MySQL 错误信息”

$> perror 1231
MySQL error code MY-001231 (ER_WRONG_VALUE_FOR_VAR): Variable '%-.64s'
can't be set to the value of '%-.200s'

对于 MySQL NDB 集群错误,请使用 ndb_perror。请参阅 第 25.5.16 节 “ndb_perror — 获取 NDB 错误信息”

$> ndb_perror 323
NDB error code 323: Invalid nodegroup id, nodegroup already existing:
Permanent error: Application error