MySQL композитный уникальный на ФК - PullRequest
2 голосов
/ 07 апреля 2010

Я хочу реализовать следующие ограничения в 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): Дублирующая запись« 3-4 »для ключа« server_id », когда я выпускаю вставку/ обновление, которое нарушит ограничение.Возможен ли такой тип ограничений?Если так, то как?Спасибо.

1 Ответ

3 голосов
/ 07 апреля 2010

Да, это совершенно верно. Убедитесь, что вы понимаете, что составное уникальное ограничение будет нарушено только при попытке вставить новую строку в TypeMapping, где уже существует другая строка с такими же server_id и type_id.

...