我不明白为什么这个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中无效,它使用编译错误创建它,并且不允许将任何内容添加到表中。
提前谢谢!
答案 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 ;