触发将空值更改为NULL

时间:2017-06-14 09:58:18

标签: mysql triggers

我正在尝试编写一个触发器,如果​​传入的值为空(换句话说是''),则在表中插入NULL。我有:

DELIMITER //
CREATE TRIGGER avoid_empty 
BEFORE INSERT ON EVALUATION
FOR EACH ROW
BEGIN
    IF mark = '' THEN SET NEW.mark = NULL;
    END IF;
END;
//
DELIMITER ;

执行没有错误,但它没有做我需要的。

1 个答案:

答案 0 :(得分:1)

尝试:

DELIMITER //

CREATE TRIGGER `avoid_empty` BEFORE INSERT ON `EVALUATION`
FOR EACH ROW
BEGIN
    IF NEW.`mark` = '' THEN
        SET NEW.`mark` := NULL;
    END IF;
END//

DELIMITER ;

请参阅db-fiddle