概述
[求助]mysql创建触发器遇到很奇怪的问题。
今天遇到一个很奇怪的问题,是关于创建触发器的。创建触发器代码如下
SQL code
create trigger trigger_t_test_U after update on t_test for each row begin insert into t_syn_data(table_name,event_type,pk_data,create_time,from_source) values('t_test','U',NEW.id,now(),'127.0.0.1_mysql_server'); set @key=LAST_INSERT_ID(); insert into t_syn_value(syndata_id,filed_name,filed_value,filed_struct,filed_file,filed_type) values(@key,'name',NEW.name,'0','-1','1'); end;
1
createtriggertrigger_t_test_Uafterupdateont_testforeachrowbegininsertintot_syn_data(table_name,event_type,pk_data,create_time,from_source)values('t_test','U',NEW.id,now(),'127.0.0.1_mysql_server');set@key=LAST_INSERT_ID();insertintot_syn_value(syndata_id,filed_name,filed_value,filed_struct,filed_file,filed_type)values(@key,'name',NEW.name,'0','-1','1');end;
欢迎大家阅读《[]MYSQL创建触发器遇到很奇怪的有关问题》,跪求各位点评,by 搞代码
在MYSQL中对表t_test创建触发器时,提示第7行有错“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 7”。
可是我找了半天都没看明白,到底是哪里错了呢?
------解决方案--------------------
set @key=LAST_INSERT_ID();
select LAST_INSERT_ID() into @key;
------解决方案--------------------
那直接用MYSQL的命令行工具试一下,
引用
delimiter $
create trigger trigger_t_test_U
after update
on t_test
for each row
begin
insert into t_syn_data(table_name,event_type,pk_data,create_time,from_source)
values('t_test','U',NEW.id,now(),'127.0.0.1_mysql_server');
select LAST_INSERT_ID() into @key;
insert into t_syn_value(syndata_id,filed_name,filed_value,filed_struct,filed_file,filed_type)
values(@key,'name',NEW.name,'0','-1','1');
end;
delimiter;
微信 赏一包辣条吧~
支付宝 赏一听可乐吧~
最后
以上就是悲凉白开水为你收集整理的mysql创建触发器难题_[]MYSQL创建触发器遇到很奇怪的有关问题的全部内容,希望文章能够帮你解决mysql创建触发器难题_[]MYSQL创建触发器遇到很奇怪的有关问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复