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

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值