MYSQL数据库触发器的插入限制[急]

表A里面有两个字段:ID,UserID现在要求写一个触发器,在插入记录的时候进行判断,如果插入数据UserID的值存在并且大于5条的时候返回,不执行插入操作比如将User... 表A 里面有两个字段:ID,UserID 现在要求写一个触发器,在插入记录的时候进行判断,如果插入数据UserID的值存在并且大于5条的时候返回,不执行插入操作 比如将UserID是0002的记录插入表中,这时表中UserID等于0002的记录已经大于5条了,那么这次操作就不会被执行! 这个触发器该怎么写呢?谢谢大侠指点一二 展开
 我来答
匿名用户
推荐于2017-12-15
展开全部
MYSQL没有TRIGGER回滚 create trigger update_exceed BEFORE INSERT on A
for 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的错误,插入失败。</SPAN>
匿名用户
2013-06-10
展开全部
用INSTEAD OF 。获取该userid下的记录数量,判断一下不就可以了吗。符合条件你就执行一下,不符合就不执行呗。instead of是替换其执行,原来执行的语句不执行了,而是仅仅作为触发触发器的条件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式