在mysql中创建触发器的查询

在mysql中创建触发器的查询,mysql,Mysql,我有一个名为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时,我得到的错误是: 错误

我有一个名为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行“end”附近使用的正确语法


你们中有谁能帮我制作一个触发器吗

在插入之前,您需要将其设置为
。试试这个:

    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;

您不能在insert
触发器之后修改刚刚插入到
中的行。如果您想修改它,需要在插入之前在
中完成

非常感谢。它工作得很好。但在将记录插入该表时,我得到一个错误:无法更新存储函数/触发器中的表“sample\u table”,因为调用该存储函数/触发器的语句已经使用了该表。你能告诉我这是什么原因吗?