したがって、InnoDBテーブル(Products)と(Categories)を使用する必要があります。Productsテーブルの「Category」フィールドとCategoriesテーブルの「CategoryId」の関係を設定したいと思いました。
ただし、FKを作成しようとすると、Productsテーブルで主キー「ProductsId」を選択し、CategoriesテーブルでPK「CategoryId」にマップすることしかできません。
たぶん私は外部キーを設定する方法/理由を逃しています。私の考えと私が間違っているかどうか教えてください:
1)追加時に商品をカテゴリに追加する必要がある場合は、カテゴリが存在するか、最初に作成する必要があります。削除するカテゴリから製品を削除するために(プログラムまたはDBバックエンドで)何らかのタスクを実行しない限り、カテゴリを削除することはできません。
2) CategoryId値がProductsテーブルの「Category」フィールドに格納されることを期待していました。次に、ビューに表示するときに、Categories.NameフィールドをCategoriesId値で検索する必要があります。
編集: 外部キーに含まれる2つのフィールドは同じでなければならないことを理解しています、サイズ、タイプ...など。ただし、ProductIdとCategoryIdをリンクすることは、私がやりたいと思っていることとの関連でどのように機能しますか。ProductIdとCategoryIdの間にFKを作成したとき、製品レコードを追加させません。
また、[カテゴリ名]フィールドと[製品カテゴリ]フィールドは同じタイプ、サイズなどですが、外部キータブでそれらを選択するオプションがありませんか?
カテゴリテーブルが各カテゴリの一部である製品を認識できるように設定するにはどうすればよいですか。