※ ChatGPTを利用し、要約された質問です(原文:MySQLの外部キーの設定について)
MySQLの外部キーの設定について
2006/11/13 20:32
このQ&Aのポイント
MySQLを使用して外部キーを設定したい場合、データベースのテーブル定義時にforeign key制約を使用します。
外部キーを設定すると親テーブルと子テーブルの関連付けができ、データの整合性を保つことができます。
外部キー制約を確認するためには、SHOW CREATE TABLEコマンドを使用し、親テーブルと子テーブルの関連付けが正しく設定されているかを確認します。
はじめまして。
質問があります。
MySQLを使用しているのですが、以下を見てください。
----------------------------------------------------------------
mysql> create table vendors
-> (
-> vend_id char(10) NOT NULL,
-> vend_name char(50) NOT NULL,
-> vend_zip char(10),
-> vend_state char(10),
-> vend_city char(50),
-> vend_address char(50),
-> primary key(vend_id)
-> ) TYPE=MyISAM;
Query OK, 0 rows affected (0.38 sec)
mysql> create table products
-> (
-> prod_id char(10) NOT NULL,
-> vend_id char(10) NOT NULL,
-> prod_name char(255) NOT NULL,
-> prod_price decimal(8,0) NOT NULL,
-> prod_desc blob,
-> primary key(prod_id),
-> foreign key(vend_id) references vendors(vend_id)
-> ) TYPE=MyISAM;
Query OK, 0 rows affected (0.05 sec)
----------------------------------------------------------------
外部キーを設定したつもりなのですが、desc productsを実行すると
キーフィールドに「pri」と表示されているので、主キーが
設定されていることが確認できるのですが、外部キーが設定されて
いることは確認できません。外部キーは設定されているのでしょうか?
もし設定されていないのなら、どのようにすればよいのでしょうか?
また、外部キーが設定されていることを確認するにはどうすれば
よいでしょうか?ご教授お願いします。
質問の原文を閉じる
質問の原文を表示する
お礼
naochancom様へ ご回答ありがとうございした。 連絡が遅れましてすみませんでした。 MySQLのバージョンは3.23.49でした。 今日MySQL5.0をインストールしてInnoDB で作成してみようと思います。 ありがとうございました。