我正在尝试创建一个触发器来根据另一个表上的插入有条件地插入新行...我似乎无法确定语法。
到目前为止,这是我所拥有的:
DELIMETER $$
CREATE TRIGGER overPricedCar
AFTER INSERT ON cars
FOR EACH ROW
BEGIN
IF (new.sellPrice > '80000' )THEN
INSERT INTO listings VALUES(new.carName,'GOLD','0',' ');
END IF;
END$$
DELIMETER ;
由于某种原因,我不断收到错误,它们的语法似乎没问题,我不确定我哪里出了问题。
EDIT
更正拼写错误后,触发器“起作用”。
我添加了触发发生时输出的注释。
我已经测试过它,输出消息被打印到屏幕上,但触发器实际上并未完成插入:
DELIMITER $$
CREATE TRIGGER overPricedCar
BEFORE INSERT ON cars
FOR EACH ROW
BEGIN
IF (new.sellPrice > '80000' )THEN
INSERT INTO listings VALUES(new.carName,'GOLD','0',' ');
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "New Gold car!"; // this line throws it off
END IF;
END$$
DELIMITER ;
当此触发器运行时,我可以在哪里放置想要打印到屏幕上的消息?
Typo:
DELIMETER
^--- should be an I: DELIMITER
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)