我想创建一个触发器来插入一个新的行有条件地基于另一个表上的插入...我似乎无法指定语法。 这里是我迄今:mysql触发器不工作?
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 ;
出于某种原因,我不断收到一个错误,他们的语法似乎是好了,我不知道,我可能出了问题。
编辑
纠正错字后,触发 '作品'。
我添加了一个注释,当触发器发生时输出。 我已经测试过它,并且输出消息被打印到屏幕上,但触发实际上并没有完成插入:
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 ;
我在哪里可以把我想打印的时候这个触发运行屏幕上的信息?
且误差?? – jcho360 2013-05-02 17:19:54
@ jcho360#1064 - 你的SQL语法错误;检查对应于你的MySQL服务器版本在1号线 – shnozolla 2013-05-02 17:20:29
使用附近的“分隔符$$ CREATE TRIGGER overPricedCar INSERT ON汽车 FOR EACH ROW B之后”正确的语法手册有什么错误? – 2013-05-02 17:20:58