MySQLTrigger语法代码结尾处的错误

时间:2012-11-15 08:16:16

标签: mysql sql syntax triggers

我不明白为什么这个SQL不起作用。我基本上试图为TEXT数据类型分配一个默认值,因为它不支持一个。

DELIMITER /
CREATE TRIGGER ifEventDesciptionNull
BEFORE INSERT ON Event
FOR EACH ROW
BEGIN
IF NEW.description = NULL THEN
    SET NEW.description = 'No description available.';
END/
DELIMITER ;

我在第7行的语法错误(这不包括分隔符switcharoo)''附近。我确信如果返回的错误指出了什么我不需要寻求帮助。同样,它在Oracle中无效,它使用编译错误创建它,并且不允许将任何内容添加到表中。

提前谢谢!

1 个答案:

答案 0 :(得分:4)

NULL比较时,请使用IS NULL而不是= NULL

DELIMITER //
CREATE TRIGGER ifEventDesciptionNull
BEFORE INSERT ON Event
FOR EACH ROW
BEGIN
    IF NEW.description IS NULL THEN
        SET NEW.description = 'No description available.';
    END IF;    -- << add this also
END//
DELIMITER ;