MySQL错误代码:1193。未知的系统变量

时间:2013-02-04 00:20:46

标签: mysql mysql-workbench error-code mysql-error-1193

好的,所以我正在研究触发器,它告诉我它(MySQL workbench 5.2)无法识别这个变量。
*错误代码:1193。未知的系统变量error_msg_3 *

我认为在触发器中使用它是正确的,请帮助我

CREATE TRIGGER controlla_MaxCARDINALITA_INSERT
BEFORE INSERT ON SENTIERO__HA__TAPPA
FOR EACH ROW 
BEGIN

DECLARE max_cardinalita INTEGER;
DECLARE error_msg_3 CONDITION FOR SQLSTATE '99003';

SELECT COUNT(*) into max_cardinalita
FROM SENTIERO__HA__TAPPA
WHERE IDsentiero=NEW.IDsentiero;

IF max_cardinalita>=10 THEN
        SIGNAL error_msg_3;
        SET error_msg_3='INSERT: Il sentiero ha già il massimo numero di tappe consentito';

END IF;

END$$

编辑::

我尝试了这个,似乎有效

DECLARE msg VARCHAR(255);
set msg = concat('MyTriggerError: Trying to insert a negative value in trigger_test: ');
signal sqlstate '45000' set message_text = msg;

1 个答案:

答案 0 :(得分:3)

根据MySQL docs,当#1193使用错误的代码时,会出现错误SQLSTATE

  

消息:未知系统变量%s

而且,正如您在同一page上看到的那样,SQLSTATE 99003未定义。