• ベストアンサー

プライマリーキーについて

いつも参考にさせて頂いています。 初歩的な質問ですが宜しくお願いします。 現在mysql4.0.20を使用しています。 プライマリーキーを2つ設定したいのですが、mysqlでは無理なのでしょうか?Oracleでは設定できたのですがうまくいきません。 どうかご教授宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>プライマリーキーを2つ設定したい プライマリキーを、別々に二つ持つという意味ではないですよね? プライマリキーを、2個の列で構成したいという意味ですか? >Oracleでは設定できたのですが Oracleでもプライマリキーは、1表で1個になっていますね。 以下のような記述になります。 create table t1 (c1 int, c2 int, c3 int, primary key(c1,c2)) こういった質問をする場合は、具体的なSQL例を示してください。

参考URL:
http://biz.rivus.jp/words/constraint.html
pgBeginImo
質問者

お礼

早速の回答ありがとうございます。 説明不足で申し訳ありません。 >プライマリキーを、2個の列で構成したいという意味ですか? まさにそのとおりで、2つのカラムでプライマリーキーを設定したいという意味です。 create table t1 (c1 int, c2 int, c3 int, primary key(c1,c2)) という例を示して頂きましたが、 このテーブルに insert into t1 values ( 1,2,3) insert into t1 values ( 1,3,3) 上記2つのSQLを実行した場合、エラーにはならないという認識ですがあっていますでしょうか? insert into t1 values ( 1,2,3) insert into t1 values ( 1,2,4) だとエラーになるという認識です。

その他の回答 (2)

回答No.3

#1回答者です。 >上記2つのSQLを実行した場合、エラーにはならないという認識ですがあっていますでしょうか? はい、その通りです。

pgBeginImo
質問者

お礼

ありがとうございました。 また何かありましたら宜しくお願いします。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

とりあえず、indexとuniqueをつければ、プライマリキーらしい 設定にはなりますけどね・・・

関連するQ&A