我想添加一个检查约束,例如
ALTER TABLE fruit
ADD CONSTRAINT check_colour CHECK(color IN ('black','white', 'green'))
我可以在命令行中执行此操作,但是,我找不到在Mysql Workbench中添加检查约束的选项。我只能找到触发器,但不能检查约束。
答案 0 :(得分:2)
MySQL允许check constraint
的语法,但不对它做任何事情。因此,没有检查。
标准答案是使用触发器来检查值。但是,在您的情况下,我认为您应该有一个Colors
表和一个外键约束:
create table Colours (
ColourId int not null auto_increment primary key,
Colour varchar(255)
);
ALTER TABLE fruits
ADD COLUMN ColourId FOREIGN KEY (ColourID) REFERENCES Colours(ColourId);
这将确保仅允许有效颜色。如果在创建表格时执行此操作,则可以添加NOT NULL
。