Соединительная таблица без первичного ключа
Скажем, у меня есть соединительная таблица, чтобы разрешить отношения между многими между двумя таблицами. В моей соединительной таблице также есть собственный столбец "Метод" для описания взаимосвязи.
Обычно я делаю составной первичный ключ из [a], [b] и [method] (метод должен быть частью того, что делает строку уникальной), но моя проблема в том, что поле [method] может быть NULL. Поэтому я не могу добавить его к первичному ключу.
Итак, я создал уникальный индекс:
ALTER TABLE A_B ADD UNIQUE INDEX `Unique` (`a`, `b`, `method`);
Таблица не имеет первичного ключа. Это нормально, или мне нужно сделать что-то по-другому?
1 ответ
Решение
Использование первичного ключа - не единственный способ обеспечить уникальность записей. Существует уникальное ограничение, которое вы можете реализовать, чтобы выполнить то, что необходимо.