数据库
首页 > 数据库> > MySQL组合在FK上是唯一的

MySQL组合在FK上是唯一的

作者:互联网

我想在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)
);

当我发出一个会破坏约束的插入/更新时,这会抛出’ERROR 1062(23000):关键’server_id’的重复条目’3-4′.这种约束是否可能?如果是这样的话?谢谢.

解决方法:

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

标签:mysql-error-1062,mysql,constraints,foreign-keys
来源: https://codeday.me/bug/20191006/1863271.html