タイムマシーンがあったら、過去と未来どちらに行く?

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

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

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

インデックス

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

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

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

A 回答 (2件)

DDL(定義系)SQLでいいなら、PostgreSQLを含め多くのRDBMSでは、


create index文を使います。

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

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

http://www.postgresql.jp/document/pg800doc/html/ …
    • good
    • 0

アクセスのことはよくわからないので、一般的なデータベースのお話として。



PRIMARY KEY, UNIQUE では重複することは許されないので、
create index インデックス名 on テーブル名(フィールド) ;
のはずです。

参考
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …
http://www.techscore.com/tech/sql/15_01.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報