Я предполагаю, что нет, поскольку внешние ключи являются первичными ключами в своих собственных таблицах, поэтому они будут уникальными.
Дополнительная информация
Я использую MySQL, а следующие три таблицы используют движок InnoDB
.
======================= =======================
| galleries | | images |
|---------------------| |---------------------|
| PK | gallery_id | | PK | image_id |
| | name | | | title |
| | description | | | description |
| | max_images | | | filename |
| | enabled | | | enabled |
======================= =======================
========================
| galleries_images |
|----------------------|
| FK | gallery_id |
| FK | image_id | <----- Should I add a PK to this table?
========================
Эпилог
Спасибо за отличные ответы. Я узнал о составных ключах и, рассмотрев мой конкретный случай, решил сделать столбец image_id
в таблице galleries_images
первичным ключом. Таким образом, изображения могут быть связаны только с одной галереей, и это то, что я хочу.
Я также собираюсь реализовать столбец order_num
в galleries_images
, который я буду использовать логику PHP для поддержки. Таким образом, пользователь может размещать изображения в определенном порядке в каждой галерее. Я закончил с этим:
============================
| galleries_images |
|--------------------------|
| PK, FK | image_id |
| FK | gallery_id |
| | order_num |
============================
Еще раз спасибо!
Эпилог II
Спасибо тем, кто указал, что мне даже не нужна эта таблица. На самом деле я не предоставил самую полную информацию. В итоге я полностью потерял таблицу galleries_images
и просто добавил gallery_id
в качестве внешнего ключа в таблицу images
. В любом случае, я все еще узнал больше, чем я думал, и буду благодарен за помощь.