2

我想在mysql中实现以下约束:

create table TypeMapping(
    ...
    constraint unique(server_id,type_id),

    constraint foreign key(server_id) references Server(id),

    constraint foreign key(type_id) references Type(id)
);

当我发出会破坏约束的插入/更新时,这会引发“错误 1062 (23000): Duplicate entry '3-4' for key 'server_id'”。这种类型的约束甚至可能吗?如果有怎么办?谢谢你。

4

1 回答 1

3

是的,这是完全有效的。确保您了解复合唯一约束只会在您尝试在其中插入新行时中断TypeMapping,其中另一行具有相同的server_id 并且 type_id已经存在。

于 2010-04-07T10:10:04.250 回答