mysql触发器无法正常工作?

时间:2013-05-02 17:19:04

标签: mysql triggers

我正在尝试创建一个触发器,根据另一个表上的插入条件有条件地插入新行...我似乎无法确定语法。 以下是我到目前为止的情况:

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 ;

当此触发器运行时,我可以在哪里将要打印的信息放到屏幕上?

1 个答案:

答案 0 :(得分:5)

错字:

DELIMETER
     ^--- should be an I: DELIMITER