Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Restrictions on Condition Handling

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;