mysql创建触发器难题_[]MYSQL创建触发器遇到很奇怪的有关问题

博主在尝试为MySQL的t_test表创建更新触发器时遇到了错误,提示SQL语法在第7行有误。经过排查,问题在于使用LAST_INSERT_ID()函数的方式。解决方案是使用`select LAST_INSERT_ID() into @key`来获取自增ID。此外,还建议使用MySQL命令行工具进行创建,以确保语法正确。
摘要由CSDN通过智能技术生成

[求助]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;

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值