MySQL 在更新之前使用 PhpMyAdmin 触发插入语法错误
MySQL before update trigger an insert syntax error using PhpMyAdmin
CREATE TRIGGER question_preserver BEFORE UPDATE ON bank
FOR EACH ROW
BEGIN
IF TRIM(NEW.question) != TRIM(OLD.question) THEN
INSERT INTO bank_question_history (id,old_question) VALUES (OLD.id,OLD.question)$$
END IF$$
END$$
我正在使用 PHPMyAdmin 的 SQL window 将该查询插入 Mysql,使用 $$ 的分隔符。我得到一个错误 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5
我确定这是显而易见的事情,我只是想念它,但无论我尝试什么,我都无法让它工作。该错误根本没有帮助,根据我的研究,我正在做这与我发现的 4-5 个示例完全一样。
任何帮助将不胜感激,谢谢!
算了问了才知道
CREATE TRIGGER question_preserver BEFORE UPDATE ON bank
FOR EACH ROW
BEGIN
IF TRIM(NEW.question) != TRIM(OLD.question) THEN
INSERT INTO bank_question_history (id,old_question) VALUES (OLD.`id`,OLD.`question`);
END IF;
END$$
你必须使用 ;
来打破每个 statement/command 和你的 delim $$
来结束整个触发器。
CREATE TRIGGER question_preserver BEFORE UPDATE ON bank
FOR EACH ROW
BEGIN
IF TRIM(NEW.question) != TRIM(OLD.question) THEN
INSERT INTO bank_question_history (id,old_question) VALUES (OLD.id,OLD.question)$$
END IF$$
END$$
我正在使用 PHPMyAdmin 的 SQL window 将该查询插入 Mysql,使用 $$ 的分隔符。我得到一个错误 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5
我确定这是显而易见的事情,我只是想念它,但无论我尝试什么,我都无法让它工作。该错误根本没有帮助,根据我的研究,我正在做这与我发现的 4-5 个示例完全一样。
任何帮助将不胜感激,谢谢!
算了问了才知道
CREATE TRIGGER question_preserver BEFORE UPDATE ON bank
FOR EACH ROW
BEGIN
IF TRIM(NEW.question) != TRIM(OLD.question) THEN
INSERT INTO bank_question_history (id,old_question) VALUES (OLD.`id`,OLD.`question`);
END IF;
END$$
你必须使用 ;
来打破每个 statement/command 和你的 delim $$
来结束整个触发器。