为什么signal关键字在mySQL 5.1.48中不起作用?

MUY*_*ium 9 mysql mysql-5.1

我正在使用mysql v5.1.48和红色http://dev.mysql.com/doc/refman/5.5/en/signal.html.但是代码

DELIMITER $$
CREATE PROCEDURE `CoreRaiseError`()
BEGIN
  SIGNAL SQLSTATE '45000'
      SET MESSAGE_TEXT = 'An error occurred', MYSQL_ERRNO = 1001;
END$$
Run Code Online (Sandbox Code Playgroud)

提出一个

SQL错误1064:您的SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在'SQLSTATE'45000'附近使用正确的语法

SIGNAL从哪个版本开始成为关键字?如何使用以前版本的mysql引发异常?

谢谢.

egg*_*yal 12

如MySQL版本5.1 手册所述:

相关条件的其他陈述SIGNAL,RESIGNALGET DIAGNOSTICS.该SIGNALRESIGNAL语句之前,不支持的MySQL 5.5.GET DIAGNOSTICSMySQL 5.6之前不支持该语句.

要在旧版本的MySQL中引发错误,只需故意发出错误命令.我经常CALL是一个不存在的程序,例如:

CALL raise_error;
Run Code Online (Sandbox Code Playgroud)