如何限制MySQL的列?
问题描述:
喜欢:如何限制MySQL的列?
create table test(
score integer unsigned between 1 and 100
...
);
是否有可能做到这一点在MySQL?
答
MySQL不支持CHECK约束
您可以创建之前引发错误UPDATE/INSERT触发器
编辑:引发错误与
SET new.score = 1/0;
类似的东西:
CREATE TRIGGER testref BEFORE INSERT ON test1
FOR EACH ROW BEGIN
IF NEW.score < 1 OR NEW.score > 100
SET NEW.score = 1/0;
END;
+0
例如见http://forums.mysql.com/read.php?136,152474,240479#msg-240479 – jensgram 2009-11-25 10:14:07
MySQL不支持检查约束 – 2009-11-25 10:12:27
它会分析它,你会认为它是合法的,但它不会enfoce它 – 2009-11-25 10:17:17