Нужна помощь в настройке внешних ключевых отношений в MySQL DB

StackOverflow https://stackoverflow.com/questions/4258829

  •  27-09-2019
  •  | 
  •  

Вопрос

Поэтому у меня есть таблицы InnoDB (продукты) и (категории). Я хотел настроить отношения между месторождением «Категория» на таблице продуктов, а также «ChationalID» таблицы категорий.

Но при попытке создать FK, это позволит вам только выбрать основной ключ «ProductiDID» на таблице продуктов и отображается в таблице PK «CoatediD» на таблице категорий.

Может быть, я скучаю по пути / причина для настройки внешнего ключа. Мои мысли и скажите мне, если я ошибаюсь:

1) Был в необходимости добавить продукт в категорию, когда добавляется, категория должна существовать или вы должны сначала создать ее. Вы не можете удалить категорию, если вы не выполняете некоторую задачу (программически или на бэкэнда БД), чтобы удалить продукты из категории, которую вы хотите удалить.

2) Я ожидал, что значение ChateiD хранится в поле «Категория» таблицы продуктов. Затем, когда отображение на мой взгляд, необходимо будет посмотреть категории. Немейте реальное поле по категорииИджему значению.

РЕДАКТИРОВАТЬ:Поэтому я понимаю, что два поля, участвующие в иностранных ключах, должны быть одинаковыми, размер, типы ... и т. Д. Тем не менее, как связать ProductID и ChateyID в контексте, к тому, что я упомянул выше, я хочу сделать. Когда я создал FK между ProductiD и ChateyID, я не позволю мне добавить запись продукта.

Кроме того, поле имени категории и поле категории продуктов - это тот же тип, размер ... ITC, но я не получаю возможность выбрать их на вкладке «Зарубежный ключ»?

Как я должен установить его, чтобы таблица категорий узнала, какие продукты являются частью каждой категории.

Это было полезно?

Решение

Хорошо, к сожалению, я должен ответить на мои вопросы. Причина большинства моих технических проблем заключается в том, что поле вы пытаетесь сделать », необходимо проиндексировать».

Чрезвычайной проблем у меня было то, что мне нужно было избавиться от фактической «категории» VARCHAL Field на таблице продуктов, и создать полем CostiCiD, которое будет иметь только значение, которое существует в поле Chative Cobile Chations.

Теперь мне просто придется ссылаться на категории. Немейте реальное поле через продукты. Категория ценности.

По крайней мере, это то, что я пришел, чтобы понять.

Другие советы

Если вы на верстаке, убедитесь, что типы, длины и атрибуты обоих столбцов, участвующих в FK, одинаковы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top