我正在尝试在 MySQL 中创建一个新触发器,但无论我尝试什么,我都会遇到语法错误。我想在列中插入一个值,该值html_id
将是字母f
和列的串联id
:
CREATE TRIGGER htmlid
BEFORE INSERT ON makelist_food
FOR EACH ROW
BEGIN
IF (NEW.html_id IS NULL) THEN
NEW.html_id = CONCAT('f', NEW.id);
END IF;
END
我也试过这个:
CREATE TRIGGER htmlid
BEFORE INSERT ON makelist_food
FOR EACH ROW
BEGIN
IF (NEW.html_id IS NULL) THEN
INSERT INTO makelist_food SET html_id = CONCAT('f', NEW.id);
END IF;
END
而这个(改变分隔符):
DELIMITER $$
CREATE TRIGGER htmlid
BEFORE INSERT ON makelist_food
FOR EACH ROW
BEGIN
IF (NEW.html_id IS NULL) THEN
NEW.html_id = CONCAT('f', NEW.id);
END IF;
END$$
DELIMITER ;
我得到的错误:#1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 6 行的 '.html_id = CONCAT('f', NEW.id)' 附近使用正确的语法
我正在运行 MySQL 5.5.22。