2009-05-25 4 views
1

私はpgSQLのにはいくつかのMySQLのコードを変換していると私は、この問題にmySQLのKEYをPgSQLに変換しますか?

MySQLのコードを実行しました: "KEY ug_main_grp_id(ug_main_grp_id)"

pgSQLで同等であるものを。まず、私はちょうどpgSQLでCREATE INDEXを使用して考えていたが、キーがインデックスではありませんので、それは本当に適切ではないのです。それはあなたが移植している正確な構文だ場合P

+0

[OK]をので、KEYはそれをクリアするためのINDEX TNXです。 MySQLのクエリは、私はもっとして1つの主を持ってカント PRIMARY KEY(sess_id)、 KEY sess_id(sess_id)、 KEYのstart_time(START_TIME)、 KEY REMOTE_IP(REMOTE_IP)のようなものが含まれ、その場合でも、ちょうど私べき他のものを作成することは一意のインデックスであるか、より良い解決策があります –

答えて

2

KEYは、指標です。

0
PRIMARY KEY (ug_main_grp_id) 
+0

そして、それはほとんどのDBMSがそうするようにインデックスとして実装されますが、それはステートメントが示しているように、実装の詳細.... –

+0

ありがとう。上記のコメントを追加しました。複数のキーがあり、すでにPKey –

0

彼らキーはただのようにUNIQUEを使用し、独特の場合:

mycolumn int NOT NULL UNIQUE 

が、それは非ユニーク一つだ場合、あなたははINDEX CREATEコマンドを使用する必要があります。

0

複数のインデックスがある場合は、特定のクエリにどのインデックスを自動的に使用するかを把握するため、pgsqlで特別な操作を行う必要はありません。

2

あなたの例を考える:KEY ug_main_grp_id (ug_main_grp_id)

あなたはCREATE TABLE文の直後に追加します。

CREATE INDEX ug_main_grp_id ON TheTableName (ug_main_grp_id); 
関連する問題