1

我不明白为什么这个 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 中是无效的,它创建它时会出现编译错误,并且不允许将任何内容添加到表中。

先感谢您!

4

1 回答 1

4

比较时NULL,使用IS NULLnot= 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 ;
于 2012-11-15T08:19:50.607 回答