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

问题描述 投票:3回答:1

好吧,我正在研究触发器,它告诉我它(MySQL workbench 5.2)不能识别这个变量。*错误代码:1193。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$$

EDIT ::

我试了一下,似乎有效果

DECLARE msg VARCHAR(255);
set msg = concat('MyTriggerError: Trying to insert a negative value in trigger_test: ');
signal sqlstate '45000' set message_text = msg;
mysql mysql-workbench error-code mysql-error-1193
1个回答
3
投票

根据 MySQL文档误差 #1193 当您使用错误的代码来处理 SQLSTATE.

訊息: 系统变量不明 %s

而且,你可以看到,在同一 网页,SQLSTATE 99003 没有定义。

© www.soinside.com 2019 - 2024. All rights reserved.