方法/步骤
首先,我们需要确定自己的Mysql数据库的版本,因为my sql数据库是从5.0.2版本才开始支持触发器的。
我推荐大家在电脑的dos命令界面中输入 mysql --version,来获取mysql的版本号,注意version的两个横线和之前的mysql是有一个空格的。
上一步获取了我们的mysql版本号,这一不我们就开始建立触发器了。我采用的以视图加代码的方式创建,我们在数据表中找到要执行删除 *** 作的表,然后右键设计表
这样我们就打开了表的设计页面,可以看到有一个触发器选项卡,我们点击“触发器”
可以看到对应的选项,我们在名里面添加我们需要新建的触发器的名字,在触发选项中选择before或者after,然后在插入、更新、删除三个选项中勾选一个。
这样我们就建立了一个名为“datri”的触发器,在删除 *** 作执行之后触发
然后我们在下面的定义下面的框中输入我们需要执行的 *** 作。然后点击sql预览,可以看到整个触发器的代码
最后就是保存了,由于我们做的是触发器,保存之后,在执行删除 *** 作时,这个触发器才相当于 被执行。
MYSQL没有TRIGGER回滚 create trigger update_exceed BEFORE INSERT on Afor each row
begin
select count(*) into @ee from A where UserID=new.UserID
if @ee>=5 then
insert into A(id) values(0)
end if
end
加粗部分,就是拦截部分。由于MYSQL在触发器内不允许对自身的修改,所以会产生一个1442的错误,插入失败。
你好,你的这句话好像不是触发器吧,应该是触发之后执行的语句,还要有一个判断触发的条件,例如,number这个字段更新了之后触发某一事务,则if(update[number]
.....
不太清楚你的具体意思,希望以上所述对你有所帮助
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)