- 締切済み
Primary Key について
PostgreSQLのPrimary Keyについて質問があります。 ---------------------------------- create table test_db ( id int8, name varchar(32), day date, constraint PK primary key( id, name)); ---------------------------------- 上記のようにtest_dbを作成しました。 データをinsertする際、 id:[1] name:[watanabe] day:[2003-05-29] id:[2] name:[watanabe] day:[2003-05-29] とするとデータが格納されてしまいます。 idとnameの両方が一致したデータは格納できないと 思うのですが、 id, name各々test_db内に対して一意なデータとして 扱いたいのですがどのようにすればいいでしょうか? [例] id:[1] name:[watanabe] day:[2003-05-29](格納済) (name:watanabeは存在するためエラー) id:[2] name:[watanabe] day:[2003-05-29] (id:1は存在するためエラー) id:[1] name:[simada] day:[2003-05-29] (正常格納) id:[2] name:[simada] day:[2003-05-29] --------------------------------------- わかりづらくて申し訳ありませんが、 宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- you111111
- ベストアンサー率45% (20/44)
uniqueって使えませんでしたっけ? create table test_db ( id int8 unique, name varchar(32) unique, day date)
- rara_sun
- ベストアンサー率50% (271/539)
複合キーってつかえませんでしたっけ? http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_k01_1.htm
補足
PostgreSQLに複合キーなんてあるんですね。 試してみます。 ありがとうございました。
補足
回答ありがとうございます。 PostgreSQLにuniqueなんてあるんですね。 勉強不足でした。 試しています。