<分区>
例如我想添加一个检查约束
ALTER TABLE fruit
ADD CONSTRAINT check_colour CHECK(color IN ('black','white', 'green'))
我可以在命令行中执行此操作,但是,我在 Mysql Workbench 中找不到添加检查约束的选项。我只能找到触发器,但不能检查约束。
<分区>
例如我想添加一个检查约束
ALTER TABLE fruit
ADD CONSTRAINT check_colour CHECK(color IN ('black','white', 'green'))
我可以在命令行中执行此操作,但是,我在 Mysql Workbench 中找不到添加检查约束的选项。我只能找到触发器,但不能检查约束。
最佳答案
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
。
关于mysql - 如何从 Mysql Workbench 创建 CHECK 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31504165/