2009-05-25 3 views
1

나는 pgSQL의 일부 MySQL의 코드 변환 그리고 난이 문제에mySQL의 KEY를 PgSQL로 변환 하시겠습니까?

MySQL의 코드를 실행했습니다 "KEY ug_main_grp_id (ug_main_grp_id)"

pgSQL의에 해당하는 것입니다 무엇을. 먼저 난 그냥 pgSQL의에 CREATE INDEX를 사용할 수 있다고 생각하지만, KEY 인덱스 아니기 때문에 그건 정말 적절하지입니다 : P 그건 당신이 포팅하고 정확한 구문의 경우

+0

좋아. MySQL의 쿼리가 좀 더 후 하나 개의 기본이 어차피 PRIMARY KEY (sess_id), KEY sess_id (sess_id), KEY START_TIME (START_TIME), KEY remote_ip (remote_ip) 같은 포함되어 있으므로하지만 그냥 내가해야 다른 것들을 생성하는 고유 한 인덱스 또는 더 나은 솔루션이 있습니다 –

답변

2

KEY는, 인덱스입니다.

mycolumn int NOT NULL UNIQUE 

을하지만이 아닌 독특한 하나 있다면, 당신은 이 INDEX에게 명령을 CREATE 사용할 필요가 :

0
PRIMARY KEY (ug_main_grp_id) 
+0

그리고 그렇습니다, 그것은 대부분의 DBMSes가 그렇듯이 인덱스로 구현됩니다.하지만 그것은 진술에 나타난 것처럼 구현 세부 사항입니다 ... –

+0

감사. 위의 설명을 추가했습니다. 여러 개의 키가 있고 이미 PKey가있는 경우에는 어떻게합니까? –

0

그들은 키가 유일하다, 그냥 같이 UNIQUE를 사용합니다.

0

인덱스가 여러 개인 경우 pgsql에서 특별한 작업을 수행 할 필요가 없습니다. 특정 쿼리에 사용할 인덱스를 자동으로 찾아냅니다.

2

귀하의 예를 감안할 때 : 당신이 CREATE TABLE 문 다음에 바로 추가 할 수 KEY ug_main_grp_id (ug_main_grp_id)

: KEY가를 삭제하는 INDEX의 TNX는 그래서

CREATE INDEX ug_main_grp_id ON TheTableName (ug_main_grp_id); 
관련 문제