10bet网址
MySQL 5.7参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国Ltr)- 36.4 mb
PDF (A4)- 36.4 mb
PDF (RPM)- 35.7 mb
HTML下载(TGZ)- 9.5 mb
HTML下载(Zip)- 9.5 mb
HTML下载(RPM)- 8.2 mb
手册(TGZ)- 235.5 kb
手册(Zip)- 347.0 kb
信息(Gzip)- 3.3 mb
信息(邮政编码)- 3.3 mb
本手册节选

B.1错误消息来源和元素

本节讨论错误消息是如何在MySQL中产生的以及它们所包含的元素。

错误消息来源

错误消息可以产生于服务器端或客户端:

  • 在服务器端,由于SQL语句执行期间发生的问题等,在启动和关闭过程中可能会出现错误消息。

    • MySQL服务器将一些错误消息写入其错误日志。这些表示数据库管理员感兴趣的问题或需要DBA处理的问题。

    • 服务器向客户端程序发送其他错误消息。这些指示只涉及特定客户端的问题。MySQL客户端库接受从服务器接收到的错误,并使它们对主机客户端程序可用。

  • 客户端错误消息是从MySQL客户端库中生成的,通常涉及与服务器通信的问题。

写入错误日志的服务器端错误消息示例:

  • 在启动过程中产生的这个消息提供了一个状态或进度指示:

    2018-09-26T14:46:06.326016Z 0[注]当指定与SSL相关的选项时,跳过生成SSL证书。
  • 此消息表示需要DBA处理的问题:

    2018-10-02t03: 410387z0 [ERROR] Plugin 'InnoDB'注册存储引擎失败。

发送到客户端程序的服务器端错误消息示例,如mysql客户:

SELECT * FROM no_such_table;错误1146 (42S02):表的测试。No_such_table '不存在

控件显示的来自客户端库内部的示例客户端错误消息mysql客户:

mysql server 'no-such-host' (0) ERROR 2005 (HY000):

无论错误是来自客户端库内部还是来自服务器,MySQL客户端程序都可能以不同的方式响应。如刚才所示,客户机可能会显示错误消息,以便用户可以采取纠正措施。客户端可以在内部尝试解决或重试失败的操作,或采取其他操作。

错误消息元素

当发生错误时,错误信息包括几个元素:错误代码、SQLSTATE值和消息字符串。这些要素具有以下特点:

  • 错误码:此值为数值。它是mysql专用的,不能移植到其他数据库系统。

    每个错误数都有相应的符号值。例子:

    错误码在给定MySQL系列的通用可用性(GA)版本中是稳定的。在一个系列达到GA状态之前,新的代码可能仍在开发中,并且可能会发生更改。

  • SQLSTATE值:该值是一个5个字符的字符串(例如,“42 s02”).SQLSTATE值来自ANSI SQL和ODBC,比数字错误代码更标准化。SQLSTATE值的前两个字符表示错误类:

    • 类=“00”表示成功。

    • 类=“01”表示警告。

    • 类=“2”表明没有找到。这在游标上下文中是相关的,用于控制游标到达数据集末尾时会发生什么。这种情况也会发生在选择……成var_list不检索行的语句。

    • 类>“2”异常。

    对于服务器端错误,并不是所有MySQL错误编号都有相应的SQLSTATE值。在这些情况下,“HY000”(一般错误)。

    对于客户端错误,SQLSTATE值总是“HY000”(一般错误),因此区分一个客户机错误和另一个客户机错误是没有意义的。

  • 消息字符串:该字符串提供错误的文本描述。