SQL 触发器创建 - 如何检查是否为 NULL 或为空?

SQL Trigger Creation - How do I check if NULL or empty?

我的 SQL 语法似乎有些问题。 我正在尝试创建触发器,然后检查数据是否为 ​​NULL 或空。

这是现在的代码,感谢 Bill 和 Gordon:

DROP TRIGGER IF EXISTS `tablename_OnInsert`;

    DELIMITER $$

    CREATE TRIGGER `tablename_OnInsert` BEFORE INSERT ON `users`
    FOR EACH ROW
    BEGIN
        IF NEW.`swid` IS NULL OR NEW.`swid` = '' THEN
            SET NEW.`swid` = CONCAT('{', uuid(), '}');
        END IF
    END$$
    ;

服务器仍然响应 1064:

/* SQL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 7 */

我一直在四处寻找我做错了什么,但我就是不明白。

嗯:

DROP TRIGGER IF EXISTS `tablename_OnInsert`;

DELIMITER $$

CREATE TRIGGER `tablename_OnInsert` BEFORE INSERT ON `users`
FOR EACH ROW
BEGIN
    IF NEW.`swid` IS NULL OR NEW.`swid` = '' THEN
        SET NEW.`swid` = CONCAT('{', uuid(), '}');
    END IF;
END$$

您的问题似乎是 IF 中多余的 )。但是,我建议 BEGIN/END 并设置分隔符。