例如,我想添加一个检查约束
ALTER TABLE fruit
ADD CONSTRAINT check_colour CHECK(color IN ('black','white', 'green'))我可以在命令行中执行此操作,但是在Mysql Workbench中找不到添加检查约束的选项。我只能找到触发器,但不能找到check约束。
发布于 2015-07-20 01:56:03
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。
https://stackoverflow.com/questions/31504165
复制相似问题