如何约束MySQL的列?
比如:如何约束MySQL的列?,mysql,constraints,Mysql,Constraints,比如: 在MySQL中可以做到这一点吗?简而言之:MySQL不支持检查约束,尽管为了与其他引擎兼容,它会解析这些约束(但会忽略它们) 请参阅:Mysql不支持检查约束 您可以使用RAISE ERROR在更新/插入触发器之前创建触发器 编辑:使用 设置new.score=1/0 诸如此类: create table test( score integer unsigned between 1 and 100 ... ); 在test1上插入之前创建触发器testref 每行开始 如果NE
在MySQL中可以做到这一点吗?简而言之:MySQL不支持检查约束,尽管为了与其他引擎兼容,它会解析这些约束(但会忽略它们)
请参阅:Mysql不支持检查约束 您可以使用RAISE ERROR在更新/插入触发器之前创建触发器 编辑:使用 设置new.score=1/0 诸如此类:
create table test(
score integer unsigned between 1 and 100
...
);
在test1上插入之前创建触发器testref
每行开始
如果NEW.score<1或NEW.score>100
设置NEW.score=1/0;
结束;
Mysql不支持CHECK CONSTRAINT,它会解析它,你会认为它是合法的,但它不会强制执行
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;