使用以下sql代码:
CREATE TRIGGER yirmi_test BEFORE UPDATE ON `orders`
FOR EACH ROW
IF ((OLD.`product_price_currency` != "") AND (NEW.`product_price_currency` = "")) THEN
signal sqlstate '45000' set message_text = 'Erasing currency';
END IF;
我收到以下错误:
1064 - 您的SQL语法出错;查看与您的MySQL服务器版本相对应的手册,以获得在''附近使用的正确语法。在第4行
答案 0 :(得分:1)
我觉得你很好。只需使用以下开始和结束delimiter
块进行换行。它通过了1064测试:
DELIMITER $$
CREATE TRIGGER yirmi_test BEFORE UPDATE ON `orders`
FOR EACH ROW
IF ((OLD.`product_price_currency` != "") AND (NEW.`product_price_currency` = "")) THEN
signal sqlstate '45000' set message_text = 'Erasing currency';
END IF;
$$
DELIMITER ;
阅读This关于分隔符的底部。这很简单,但可能浪费数小时。