MySQL 错误代码:1193。未知的系统变量
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/14678934/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
MySQL Error Code: 1193. Unknown system variable
提问by FrancescoN
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*
好的,所以我正在研究触发器,它告诉我它(MySQL 工作台 5.2)无法识别这个变量。
*错误代码:1193。未知系统变量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;
采纳答案by hjpotter92
According to MySQL docs, the error #1193
occurs when you use wrong code for SQLSTATE
.
根据MySQL 文档,#1193
当您对SQLSTATE
.
Message: Unknown system variable %s
消息:未知的系统变量%s
And, as you can see on the same page, the SQLSTATE 99003
is not defined.
而且,正如您在同一页面上看到的,99003
未定义SQLSTATE 。