РЕДАКТИРОВАТЬ: Это, казалось бы, термин «соединительные таблицы» получил то, что мне нужно
Я пытаюсь вставить запись в таблицу produ_tag
с первичным и внешним ключом в качестве столбцов.
produ_tag
товары
теги
Первый столбец refHe
это код продукта из products
таблица, вторая содержит тег для продукта из tags
Таблица. Программное обеспечение для моделирования создало эту дополнительную таблицу, чтобы оно могло сохранить, какой продукт содержит какой тег, который необходим.
Проблема в том, что они первичны, поэтому, если у меня есть продукт с 2 тегами, запись не будет вставлена, поскольку в нее уже был вставлен тот же продукт.
Должен ли я удалить основной предмет для обоих? Или есть другой способ справиться с этим, так как программное обеспечение для моделирования предоставило его таким образом.
produ_tag
Таблица является «таблицей мостов», а составной первичный ключ позволит использовать любое количество тегов (namCh
) быть связанным с продуктом (refHe
), при условии, что тег существует в tags
стол и что (refHe, nameCh)
пара уникальна (то есть вы не можете ассоциировать один и тот же товар и тег более одного раза).
Если при попытке вставить тег появляется ошибка, это происходит не из-за неправильной настройки ПК. Вы либо пытаетесь сослаться на несуществующий тег, либо вставляете комбинацию значений, которые уже присутствуют в таблице.
Не удаляйте свои первичные ключи. Единственная очевидная проблема, которую я вижу, состоит в том, что нет никакого ограничения FK от produ_tag.refHe
в products.refHe
,
Других решений пока нет …