我在 MySQL table 上添加新触发器时犯了什么错误?

What mistake I'm making while adding a new trigger on a MySQL table?

以下是我写的触发器:

CREATE TRIGGER `test_BINS` BEFORE INSERT ON `phpfox_user` FOR EACH ROW 
IF new.`full_name` = '' THEN SET new.`full_name` = NULL; END IF; END;

以下是相同的屏幕截图:

以下是出现的错误消息的图像:

请有人帮我添加这个触发器。

这里的信息很清楚。第一张图片第 1 行中的任何内容都不需要,因为上面已经提供了信息。

从技术上讲,您的代码试图在另一个触发器中创建一个触发器。去掉第1行就可以了

这应该是查询:

FOR EACH ROW IF :new.full_name = '' THEN :new.full_name := NULL; END IF; END;
DELIMITER $$
    CREATE TRIGGER test_BINS BEFORE INSERT ON phpfox_user
    FOR EACH ROW BEGIN
      IF (NEW.full_name = '') THEN
            SET NEW.full_name = NULL;
      END IF;
    END$$
DELIMITER ;

但如果您想使用 pma 接口添加它,只需将此定义放在那里:

BEGIN
      IF (NEW.full_name = '') THEN
            SET NEW.full_name = NULL;
      END IF;
END