linux mysql 创建触发器_mysql创建触发器问题

你的位置:

问答吧

-> MySQL

-> 问题详情

mysql创建触发器问题

我想在mysql上创建一个触发器,原代码如下

CREATE TRIGGER comment_afterdelete_on_mynew

before DELETE ON tb1_mynew

FOR EACH ROW

BEGIN

select * from tb1_mynew;

END

不知道为什么老是报第五行有语法错误,也就是我把select语句去掉就可以用了,但我单独测试过这个select语句是正确的

我该怎么解决。

我的mysql是linux上的,版本号是5.0.45

作者: wgczxm

发布时间: 2011-12-21

已经提示:

Not allowed to return a result set from a trigger

在TRIGGER中不能返回结果集,你要达到什么目的

作者: WWWWA

发布时间: 2011-12-21

我其实是想在触发器里做一个删除语句,但无论我在触发器里写什么sql语句都会报语法错误。我已经在外部验证过这些语句都是正确的。我改过里面的语句,改成delete也是不对的。

作者: wgczxm

发布时间: 2011-12-21

你的代码?不能对本表进行操作

delimiter $$

CREATE TRIGGER comment_afterdelete_on_mynew

before DELETE ON tb1_mynew

FOR EACH ROW

BEGIN

sql 语句;

END;$$

delimiter ;

作者: WWWWA

发布时间: 2011-12-21

我的代码不是对本表 而是对另外一张表啊。

作者: wgczxm

发布时间: 2011-12-21

用3楼格式修改你的TRIGGER

作者: WWWWA

发布时间: 2011-12-21

好的,我试试看;

作者: wgczxm

发布时间: 2011-12-21

实验过了,不行。语法错误,这次变成delimiter $$有语法错误了;

作者: wgczxm

发布时间: 2011-12-21

引用 7 楼 wgczxm 的回复:

实验过了,不行。语法错误,这次变成delimiter $$有语法错误了;

代码是什么,在命令行下输入?

作者: WWWWA

发布时间: 2011-12-21

TRIIGER 中不可以有返回记录集的语句。 你的这个 select * from tb1_mynew; 会返回结果集。 希望通过这个语句实现什么功能? 不会是在DELETE的时候还需要显示一下 select * from tb1_mynew; 吧。

作者: ACMAIN_CHM

发布时间: 2011-12-21

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值