enter code hereCREATE
/*!50017 DEFINER = 'root'@'localhost' */
TRIGGER `update_bug_question_number_after_insert` AFTER INSERT ON `work_item`
FOR EACH ROW BEGIN
SET @m_last_number := 0;
IF (NEW.type = 1) THEN
BEGIN
SELECT last_bug_number FROM work_item WHERE id = NEW.parent_work_item_id INTO @m_last_number;
IF @m_last_number IS NULL THEN
SET @m_last_number = 0;
/* inscrease last bug number */
SET @m_last_number = @m_last_number + 1;
/* update last bug number parent work item*/
UPDATE work_item SET last_bug_number = @m_last_number WHERE id = NEW.parent_work_item_id;
/* update bug number current work item*/
UPDATE work_item SET bug_number = @m_last_number WHERE id = NEW.id;
END
ELSE IF (NEW.type - 4) THEN
BEGIN
SELECT last_question_number FROM work_item WHERE id = NEW.parent_work_item_id INTO @m_last_number;
IF @m_last_number IS NULL THEN
SET @m_last_number = 0;
/* inscrease last bug number */
SET @m_last_number = @m_last_number + 1;
/* update last bug number parent work item*/
UPDATE work_item SET last_question_number = @m_last_number WHERE id = NEW.parent_work_item_id;
/* update bug number current work item*/
UPDATE work_item SET question_number = @m_last_number WHERE id = NEW.id;
END
END;
消息显示:
12 queries executed, 2 success, 10 errors, 0 warnings
查询:CREATE 0017 DEFINER ='root'@'localhost'* /为EAupdate_bug_question_number_after_insert
插入后触发触发work_item
...
错误代码:1064您的SQL语法中有错误;请参见表11。检查与您的MySQL服务器版本相对应的手册以获取在第5行的''附近使用的正确语法
执行时间:0秒传输时间:0秒
查询:如果(NEW.type = 1),则从id为NEW.parent_work_item_id的work_item中选择last_bug_number到@m_last_number中
错误代码:1064您的SQL语法中有错误;请参见表11。检查与您的MySQL服务器版本相对应的手册以在'if(NEW.type = 1)附近使用正确的语法,然后从第1行开始选择last_bug_number from work_it'
执行时间:0秒传输时间:0秒
查询:如果@m_last_number为null,则SET @m_last_number = 0
错误代码:1064您的SQL语法中有错误;请参见表11。检查与您的MySQL服务器版本相对应的手册,以获取在'如果@m_last_number为null,然后在第1行SET @m_last_number = 0'附近使用正确的语法
执行时间:0秒传输时间:0秒
查询:SET @m_last_number = @m_last_number +1
受影响的0行
执行时间:0秒传输时间:0秒
查询:更新work_item设置last_bug_number = @m_last_number,其中id = NEW.parent_work_item_id
错误代码:1054“ where子句”中的未知列“ NEW.parent_work_item_id”
执行时间:0秒传输时间:0秒
查询:UPDATE work_item SET bug_number = @m_last_number WHERE id = NEW.id
错误代码:1054“ where子句”中的未知列“ NEW.id”
执行时间:0秒传输时间:0秒
查询:结束ELSE IF(NEW.type-4),然后从work_item WHERE id = NEW.parent_work_item_id INTO @m_last开始选择last_question_number ...
错误代码:1064您的SQL语法中有错误;请参见表11。检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在“ end ELSE IF(NEW.type-4)”附近使用,然后在第1行开始SELECT last_question_num
执行时间:0秒传输时间:0秒
查询:如果@m_last_number是NULL,则设置@m_last_number = 0
错误代码:1064您的SQL语法中有错误;请参见表11。在第1行的'IF @m_last_number IS NULL THEN SET @m_last_number = 0'附近检查与您的MySQL服务器版本相对应的手册以使用正确的语法
执行时间:0秒传输时间:0秒
查询:SET @m_last_number = @m_last_number +1
受影响的0行
执行时间:0秒传输时间:0秒
查询:UPDATE work_item SET last_question_number = @m_last_number WHERE ID = NEW.parent_work_item_id
错误代码:1054“ where子句”中的未知列“ NEW.parent_work_item_id”
执行时间:0秒传输时间:0秒
查询:UPDATE work_item SET question_number = @m_last_number WHERE id = NEW.id
错误代码:1054“ where子句”中的未知列“ NEW.id”
执行时间:0秒传输时间:0秒
查询:END结束
错误代码:1064您的SQL语法中有错误;请参见表11。检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的“ end END”附近使用
执行时间:0秒传输时间:0秒总时间:0秒
尝试这种方式:
DELIMITER $$
/*!50017 DEFINER = 'root'@'localhost' */
create TRIGGER `update_bug_question_number_after_insert` AFTER INSERT ON `work_item` FOR EACH ROW
BEGIN
SET @m_last_number := 0;
IF (NEW.type = 1) THEN
SELECT last_bug_number FROM work_item WHERE id = NEW.parent_work_item_id INTO @m_last_number;
IF @m_last_number IS NULL THEN
SET @m_last_number = 0;
/* inscrease last bug number */
SET @m_last_number = @m_last_number + 1;
/* update last bug number parent work item*/
UPDATE work_item SET last_bug_number = @m_last_number WHERE id = NEW.parent_work_item_id;
/* update bug number current work item*/
UPDATE work_item SET bug_number = @m_last_number WHERE id = NEW.id;
END IF;
ELSEIF (NEW.type - 4) THEN
SELECT last_question_number FROM work_item WHERE id = NEW.parent_work_item_id INTO @m_last_number;
IF @m_last_number IS NULL THEN
SET @m_last_number = 0;
/* inscrease last bug number */
SET @m_last_number = @m_last_number + 1;
/* update last bug number parent work item*/
UPDATE work_item SET last_question_number = @m_last_number WHERE id = NEW.parent_work_item_id;
/* update bug number current work item*/
UPDATE work_item SET question_number = @m_last_number WHERE id = NEW.id;
END IF;
END IF;
END;
$$
DELIMITER ;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句