Соединительная таблица без первичного ключа

Скажем, у меня есть соединительная таблица, чтобы разрешить отношения между многими между двумя таблицами. В моей соединительной таблице также есть собственный столбец "Метод" для описания взаимосвязи.Пример соединительной таблицы

Обычно я делаю составной первичный ключ из [a], [b] и [method] (метод должен быть частью того, что делает строку уникальной), но моя проблема в том, что поле [method] может быть NULL. Поэтому я не могу добавить его к первичному ключу.

Итак, я создал уникальный индекс:

ALTER TABLE A_B ADD UNIQUE INDEX `Unique` (`a`, `b`, `method`);

Таблица не имеет первичного ключа. Это нормально, или мне нужно сделать что-то по-другому?

1 ответ

Решение

Использование первичного ключа - не единственный способ обеспечить уникальность записей. Существует уникальное ограничение, которое вы можете реализовать, чтобы выполнить то, что необходимо.

http://www.w3schools.com/sql/sql_unique.asp

Другие вопросы по тегам