- ベストアンサー
and条件のようなプライマリ制約
現在データベースの設計をしておりますが、insertの際、プライマリキー、ユニークキーではAというカラムが同じだとできないとなりますが、 A,Bが両方同じでエラーをかえすということはできませんでしょうか。 卒論の最終段階へきて、つまづいております。どなたかご教授いただけませんでしょうか。 使用データベースはMySqlです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
プライマリキーを複数列で構成してもいいし、unique制約を付けてもいいです。 (1)primary keyにする create table tbl1 (c1 int, c2 int, c3 varchar(3), primary key(c1,c2)) (2)unique制約を付ける create table tbl1 (c1 int, c2 int, c3 varchar(3), unque(c1,c2)) (3)uniqueインデクスを付ける create table tbl1 (c1 int, c2 int, c3 varchar(3)); create unique index tbl1ix1 on tbl1(c1,c2) なお、primary keyやunique制約を付けた場合、重複チェックのために内部的にインデクスが作成されます。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
普通にA,Bをつかったユニークにすればよいのでは? ALTER TABLE `hoge` ADD UNIQUE (`A`,`B`);
質問者
お礼
できました! 早速のご回答有難うございます。 人に教えれるぐらいになるよう精進します。
お礼
丁寧なご回答有難うございます。 インデクスなどまだ理解できていない部分がありますが、もう少し勉強してどうしても分からなければまた質問させていただくかもしれません。 どうもありがとうございました。