bd96500e110b49cbb3cd949968f18be7.png

Ok so i'm working on triggers, and it tells me it(MySQL workbench 5.2) doesn't recognize this variable.

*Error Code: 1193. Unknown system variable error_msg_3*

I think it would be correct using it in a trigger, please help me

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 ::

I tried this, and it seems working

DECLARE msg VARCHAR(255);

set msg = concat('MyTriggerError: Trying to insert a negative value in trigger_test: ');

signal sqlstate '45000' set message_text = msg;

解决方案

According to MySQL docs, the error #1193 occurs when you use wrong code for SQLSTATE.

Message: Unknown system variable %s

And, as you can see on the same page, the SQLSTATE 99003 is not defined.

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐