mysql中的insert 触发器 如何实现添加时判断添加的值在一定范围内,如果不在就不insert表中的功能;
例如:createtabletest1(varint);insertvar的值大于10时就不能进行插入;insertintotest1values(15);---不能被插...
例如:create table test1(var int);
insert var 的值 大于10 时就不能进行插入;
insert into test1 values(15); ---不能被插入;
insert into test1 values(5);---能够进行插入;
如果不能实现帮忙提供其他方法,谢谢(mysql check 约束也没有效果) 展开
insert var 的值 大于10 时就不能进行插入;
insert into test1 values(15); ---不能被插入;
insert into test1 values(5);---能够进行插入;
如果不能实现帮忙提供其他方法,谢谢(mysql check 约束也没有效果) 展开
3个回答
展开全部
问了一下我老师。他告诉我。check在mysql里面还没有人去实现。。也就是说。check是不可以用的。如果想实现你需要的,需要写一个触发器。可是我还没学过触发器。。昨天晚上稍微看了点,也没太看懂
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CREATE TRIGGER testref AFTER INSERT ON test1
FOR EACH ROW BEGIN
if NEW.var>10 then
delete from test1 where var=NEW.var;
end if ;
END
FOR EACH ROW BEGIN
if NEW.var>10 then
delete from test1 where var=NEW.var;
end if ;
END
更多追问追答
追问
mysql 中不能对触发器对象表进行 insert,update,delete 操作!
create trigger on test1 后 就不能 在触发器程序内部进行 关于 test1的
insert,update,delete 操作
(这个方法之前也想到了,就是存在这个限制555555)
追答
但这样是不能插入不符合条件的记录的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询