像:
create table test(
score integer unsigned between 1 and 100
...
);
是否可以在MySQL中执行此操作?
答案 0 :(得分:1)
Mysql不支持CHECK约束
您可以使用RAISE ERROR创建BEFORE UPDATE / INSERT TRIGGER
编辑:
引发错误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;
答案 1 :(得分:0)
简而言之:MySQL不支持CHECK约束,但为了与其他引擎兼容,它会解析它们(但忽略它们)。