创建触发器不能在mysql中工作

时间:2018-02-18 15:56:27

标签: mysql

我正在尝试编写一个触发器,在插入表

之前验证插入语句

表格结构:

enter image description here

这是我写的代码

DELIMITER
    $$
CREATE TRIGGER check_date_format
INSERT BEFORE ON
job_histry FOR EACH ROW
BEGIN 
SET @bool=NEW.end_date LIKE '--/--/----';
IF @bool THEN
    INSERT
INTO
    job_histry
VALUES(
    NULL,
    NEW.start_date,
    NEW.end_date,
    NEW.job_id,
    NEW.department_id
) ;
    END IF ;
END
$$

这是我收到的错误:

  

#1064 - 您的SQL语法出错;查看与您的MariaDB服务器版本相对应的手册,以获得正确的语法,以便在工作之前使用INSERT FOR FOR EACH ROW BEGIN SET @ bool = NEW.end_date LIKE''在第2行

为什么会这样?

我正在使用localhost xampp服务器。

1 个答案:

答案 0 :(得分:1)

您的触发类型(INSERT)和时间(BEFORE)的顺序错误。

应该阅读

declare function foo(p1: any, cb: () => void): void;
declare function foo(p1: any, p2: any, cb: () => void): void;
declare function foo(p1: any, p2: any, p3: any, cb: () => void): void;
// ...
declare function foo(...args: any[]): void;