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


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

15.6.8 条件处理限制

SIGNALRESIGNALGET DIAGNOSTICS 不允许作为预处理语句使用。例如,以下语句无效

PREPARE stmt1 FROM 'SIGNAL SQLSTATE "02000"';

属于 '04' 类别的 SQLSTATE 值不会被特殊对待。它们与其他异常一样被处理。

在标准 SQL 中,第一个条件与前一个 SQL 语句返回的 SQLSTATE 值相关。在 MySQL 中,这无法保证,因此要获取主要错误,您无法执行此操作

GET DIAGNOSTICS CONDITION 1 @errno = MYSQL_ERRNO;

而是执行以下操作

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