• ベストアンサー

重複を許すキーの構文がわかりません。

データベース自体はPostgreSQLを使っています。そして、アクセス2003を使って、テーブルリンクで閲覧しています。 あるフィールドに検索が早くなるようにキーを設けたいのですが、 重複を許すキーの構文がわかりません。 PRIMARY KEY, UNIQUEの設定はわかるのですが、 どのように記述すればよいのでしょうか? 以下、アクセスのプロパティです。 インデックス ●いいえ デフォルト、無指定 ●はい(重複あり)[***** ここの部分のSQLが知りたい *****] ALTER TABLE テーブル名 ADD ???????? (フィールド); ●はい(重複なし)UNIQUE もしくは値要求混みのPRIMARY KEY ALTER TABLE テーブル名 ADD UNIQUE (フィールド); ALTER TABLE テーブル名 ADD PRIMARY KEY (フィールド);

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

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

DDL(定義系)SQLでいいなら、PostgreSQLを含め多くのRDBMSでは、 create index文を使います。 create [unique] index インデクス名 on 表名(列名1[,...]) uniqueを指定すれば重複禁止、省略すれば重複可のインデクスになります。 http://www.postgresql.jp/document/pg800doc/html/sql-createindex.html

その他の回答 (1)

回答No.1

アクセスのことはよくわからないので、一般的なデータベースのお話として。 PRIMARY KEY, UNIQUE では重複することは許されないので、 create index インデックス名 on テーブル名(フィールド) ; のはずです。 参考 http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_kj01.htm http://www.techscore.com/tech/sql/15_01.html