アプリ版:「スタンプのみでお礼する」機能のリリースについて

はじめまして。
質問があります。
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」と表示されているので、主キーが
設定されていることが確認できるのですが、外部キーが設定されて
いることは確認できません。外部キーは設定されているのでしょうか?
もし設定されていないのなら、どのようにすればよいのでしょうか?
また、外部キーが設定されていることを確認するにはどうすれば
よいでしょうか?ご教授お願いします。

A 回答 (1件)

MySQLのバージョンが不明なので、


私が使っていた4.1では、MyIsamに対してFOREIGN KEY制約
はつけることができませんでした。
参照先・元共にInnoDBでないとだめです。
下の参考URLに記載されています。

また、参照方法ですが、参考URLの一番下にある
SHOW TABLE STATUS FROM yourdatabasename LIKE 'T'
このコマンドで参照することができるのではないでしょうか?

参考URL:http://dev.mysql.com/doc/refman/4.1/ja/innodb-fo …
    • good
    • 0
この回答へのお礼

naochancom様へ
ご回答ありがとうございした。
連絡が遅れましてすみませんでした。
MySQLのバージョンは3.23.49でした。
今日MySQL5.0をインストールしてInnoDB
で作成してみようと思います。
ありがとうございました。

お礼日時:2006/11/14 14:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!