我希望在插入另一个表时填充表中的某些列值,并具有特定列的条件。我使用触发器:
CREATE TRIGGER inserttrigger AFTER INSERT ON table1 FOR EACH ROW INSERT INTO table2 SET col1 = NEW.col1, col2 = NEW.col2; IF LENGTH(NEW.col3) > 20 THEN SET col3 = NEW.col3 END IF;
我在IF条件附近得到语法错误:
错误1064(42000):您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的“END IF”附近使用正确的语法
答案 0 :(得分:0)
delimiter |
CREATE TRIGGER inserttrigger AFTER INSERT ON table1
FOR EACH ROW
BEGIN
INSERT INTO table2
SET col1 = NEW.col1,
col2 = NEW.col2,
col3 = case when LENGTH(NEW.col3) > 20
then NEW.col3
end;
END
|
delimiter ;