在MySQL Workbench的EER图中,有一个复选框可以使表中的每个列唯一、非空、主键等。
但是,我想在多个列上添加UNIQUE约束。是否可以在MySQL Workbench的EER图中添加它?
编辑:好的,我意识到唯一复选框会创建一个唯一索引,而不是一个唯一约束。
但是,我想在多个列上添加UNIQUE约束。是否可以在MySQL Workbench的EER图中添加它?
编辑:好的,我意识到唯一复选框会创建一个唯一索引,而不是一个唯一约束。
在MySQL Workbench的修改表对话框中:
关于这是否奇怪,因为索引与约束不同,存在一些讨论。但是,显然,“唯一索引”以与唯一约束相同的方式强制执行唯一性,并且可能会提高性能。例如,如果我尝试插入在使用此方法后会破坏唯一性的行,则会抛出“1062重复条目”错误。
最新的MWB(我使用的是6.0.8版本),可以创建复合键
如果您想创建一个复合主键,您可以选择多个列并勾选PK复选框。但是,还需要执行另一个步骤,您必须单击索引选项卡,然后在索引列面板中设置所需的主键顺序。
看起来似乎不可用:http://bugs.mysql.com/bug.php?id=48468。在索引选项卡上,您可以创建多列唯一索引,但对于多列唯一约束,您需要手动运行创建命令。