MySQL 9.0 發行說明
SIGNAL、RESIGNAL 和 GET 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;