質問 |
||
| QNo.3350884 | 重複を許すキーの構文がわかりません。 | |
|---|---|---|
| 質問者:Kinshasa1 |
データベース自体はPostgreSQLを使っています。そして、アクセス2003を使って、テーブルリンクで閲覧しています。 あるフィールドに検索が早くなるようにキーを設けたいのですが、 重複を許すキーの構文がわかりません。 PRIMARY KEY, UNIQUEの設定はわかるのですが、 どのように記述すればよいのでしょうか? 以下、アクセスのプロパティです。 インデックス ●いいえ デフォルト、無指定 ●はい(重複あり)[***** ここの部分のSQLが知りたい *****] ALTER TABLE テーブル名 ADD ???????? (フィールド); ●はい(重複なし)UNIQUE もしくは値要求混みのPRIMARY KEY ALTER TABLE テーブル名 ADD UNIQUE (フィールド); ALTER TABLE テーブル名 ADD PRIMARY KEY (フィールド); |
|
困り度:
|
||
| 質問投稿日時: 07/09/16 21:38 |
||
回答良回答20pt |
|
| ANo.2 | DDL(定義系)SQLでいいなら、PostgreSQLを含め多くのRDBMSでは、 create index文を使います。 create [unique] index インデクス名 on 表名(列名1[,...]) uniqueを指定すれば重複禁止、省略すれば重複可のインデクスになります。 http://www.postgresql.jp/document/pg800doc/html/sql-createindex.html |
|---|---|
| 回答者:chukenkenkou | |
| 種類:アドバイス どんな人:専門家 自信:参考意見 |
|
| 回答日時: 07/09/16 22:05 |
|
| |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答良回答10pt |
|
| 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 |
|---|---|
| 回答者:irija_bari | |
| 種類:回答 どんな人:一般人 自信:参考意見 |
|
| 回答日時: 07/09/16 22:04 |
|
| |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |