みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

データベース自体はPostgreSQLを使っています。そして、アクセス2003を使って、テーブルリンクで閲覧しています。
あるフィールドに検索が早くなるようにキーを設けたいのですが、
重複を許すキーの構文がわかりません。

PRIMARY KEY, UNIQUEの設定はわかるのですが、
どのように記述すればよいのでしょうか?

以下、アクセスのプロパティです。

インデックス

●いいえ デフォルト、無指定

●はい(重複あり)[***** ここの部分のSQLが知りたい *****]
ALTER TABLE テーブル名 ADD ???????? (フィールド);

●はい(重複なし)UNIQUE もしくは値要求混みのPRIMARY KEY
ALTER TABLE テーブル名 ADD UNIQUE (フィールド);
ALTER TABLE テーブル名 ADD PRIMARY KEY (フィールド);

投稿日時 - 2007-09-16 21:38:22

QNo.3350884

困ってます

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

DDL(定義系)SQLでいいなら、PostgreSQLを含め多くのRDBMSでは、
create index文を使います。

create [unique] index インデクス名 on 表名(列名1[,...])

uniqueを指定すれば重複禁止、省略すれば重複可のインデクスになります。

http://www.postgresql.jp/document/pg800doc/html/sql-createindex.html

投稿日時 - 2007-09-16 22:05:59

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.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

投稿日時 - 2007-09-16 22:04:39

あなたにオススメの質問