文档主页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  条件处理限制

15.6.8 条件处理限制

SIGNALRESIGNALGET DIAGNOSTICS 不允许作为准备好的语句。例如,以下语句无效

PREPARE stmt1 FROM 'SIGNAL SQLSTATE "02000"';

SQLSTATE 值在 '04' 类中不会被特殊对待。它们与其他异常的处理方式相同。

在标准 SQL 中,第一个条件与先前 SQL 语句返回的 SQLSTATE 值相关。在 MySQL 中,这不能保证,因此要获取主要错误,您不能这样做

GET DIAGNOSTICS CONDITION 1 @errno = MYSQL_ERRNO;

相反,请执行以下操作

GET DIAGNOSTICS @cno = NUMBER;
GET DIAGNOSTICS CONDITION @cno @errno = MYSQL_ERRNO;