Centos7使用mysql5.7.20之创建触发器提示:Not allowed to return a result set from a trigger

15 篇文章 1 订阅

创建触发器需要给出的4条信息
1、唯一的触发器名
2、触发器关联的表
3、触发器应该相应的活动(delete、insert、update)
4、触发器核实执行(处理之前或之后)

创建如下触发器:

CREATE TRIGGER newproduct AFTER INSERT ON products
FOR EACH ROW SELECT 'Product added'

提示出现错误:Not allowed to return a result set from a trigger

 

官方触发器相关信息:https://dev.mysql.com/doc/refman/5.7/en/create-trigger.html

根据错误提示,不允许返回结果。查找相关资料,显示MYSQL5以后,不允许触发器返回任何结果。

因此使用into @变量名,将结果赋值到变量中,用select调用。

修改语句如下:

CREATE TRIGGER newproduct AFTER INSERT ON products
FOR EACH ROW SELECT 'Product added!' INTO @proaddinfo;

执行后成功添加。查看 @proaddinfo

SELECT @proaddinfo; 未插入前,值为:NULL

执行插入操作:

INSERT INTO products VALUES('JP4000','1005','JetPack 4000',85,'JetPack 4000, multi-use');

查看表信息,以及变量信息:

Not allowed to return a result set from a trigger 问题解决。

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值