我有一个名为sample_table的表,其列为col_a,col_b,col_c。 我试图在MySQL 5.6中创建一个触发器,它将在插入行时更新col_c(作为concat(col_a,col_b))。我为此写的查询是:
create trigger trg_sample_table
after insert on sample_table
for each row
begin
set col_c=concat(col_a,col_b)
end;
在运行此sql时,我得到的错误是: 错误1064(42000):您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第6行的“结束”附近使用正确的语法。
你们中的任何一位能帮助我根据需要创建一个触发器吗?
答案 0 :(得分:2)
您需要将其设为before insert
。试试这个:
create trigger trg_sample_table before insert on sample_table for each row
begin
set new.col_c=concat(new.col_a,new.col_b);
end;
您无法修改刚插入after insert
触发器的行。如果要修改它,则需要在before insert
。