在使用MySQL时,不经意用到了check来约束,结果发件加不加check没区别,所以就查找了下资料,发现MySQL目前不被支持,这么说MySQL的路还有很长啊。
但是如果想要用到的话,网上提供了两种方法:
1.使用枚举,不过博主在试了下,要实现限制范围,就必须把这个范围内的所有数写进枚举,实际开发中,这无疑是不可取的,范围小的时候可考虑;
create table test5(test1Id int,testname varchar(50),testpass varchar(50),sal enum(1,2,3,4,5));
2.使用触发器,每一个表中,触发器有且只能有一个
CREATE TRIGGER testref AFTER INSERT ON test6 FOR EACH ROW BEGIN if NEW.test1Id>100 then delete from test6 where test1Id=NEW.test1Id; end if ;
这里要说明的是,一般我们可以在插入数据之前做判断,不需要写在数据库中。