Таким образом, я должен InnoDB таблицы (продукты) и (категории). Я хотел установить связь между полем «Категория» в таблице «Продукты» и «Идентификатором категории» в таблице «Категории».
Но при попытке создать FK он только позволит мне выбрать первичный ключ "ProductsId" в таблице "Продукты" и сопоставить его с PK "CategoryId" в таблице "Категории".
Возможно, мне не хватает способа / причины для установки внешнего ключа. Мои мысли и скажите мне, если я ошибаюсь:
1) Требуется, чтобы продукт добавлялся в категорию при добавлении, категория должна существовать или вы должны сначала создать ее. Вы не можете удалить категорию, если не выполните какую-либо задачу (программно или на сервере БД), чтобы удалить продукты из категории, которую вы хотите удалить.
2) Я ожидал, что значение CategoryId будет сохранено в поле «Категория» таблицы «Продукты». Тогда при отображении в моем представлении, нужно будет искать поле Categories.Name по значению CategoriesId.
EDIT:
Итак, я понимаю, что два поля, используемые во внешних ключах, должны быть одинакового размера, типа и т. Д. Однако, как работает связывание ProductId и CategoryId в контексте с тем, что я упомянул выше, я хочу сделать. Когда я создал FK между ProductId и CategoryId, я не позволил мне добавить запись о продукте.
Кроме того, поля «Имя категории» и «Категория продукта» имеют одинаковый тип, размер и т. Д., Но я не могу выбрать их на вкладке внешнего ключа?
Как мне настроить его так, чтобы таблица категорий знала, какие продукты входят в каждую категорию.