mysql>create index ix_Class_TC_id ON Hybrid_Class(TC_id);
일때는 정상적으로 동작 되나,
아래와 같이 콘솔창에 명령어를 입력하면 에러가 발생합니다.
mysql> create clustered index ix_Class_TC_id ON Hybrid_Class(TC_id);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'clust
ered index ix_Class_TC_id ON Hybrid_Class(TC_id)' at line 1
APMSETUP7_2010010300 설치 하였고,
MySQL 서버 버전: 5.1.41-community 입니다.
MySQL client version: 5.0.51a
선배님들의 조언 부탁드립니다.
감사합니다.
Comment 3
-
이스트럭(강동운)
2014.03.19 10:46
-
알카디우스
2014.03.19 12:26
답변 감사합니다~ 이스트럭님 덕분에~ MySQL은 create clustered index 라는 문법은 지원하지 않는 다는걸 알게 되었네요^^*
계속 http://technet.microsoft.com 사이트를 참조하여 공부중인데 create clustered index 라는 문법만 나오거든요^^;
그러면 clustered index를 생성하려면 table 생성시에 해당 컬럼을 pk로 선언하면 자동으로 clustered index가 되는것인가요?
아니면 table생성후 다시 콘솔창에서
mysql> create index ix_TC_id ON Hybrid_dep_Info(TC_id); 입력을 해야 하는건지요?
SQL을 어제부터 시작했는데 여기서부터 막히네요. 한번더 조언 부탁드립니다.
감사합니다.
PS : clustered index는 한개의 index만 생성할수 있다고 했는데 , 만약 PK를 2~3개 설정했을 경우에는 clustered index는 생성이 어려운건가요?
-
이스트럭(강동운)
2014.03.19 15:08
안녕하세요.
우선.. MySQL과 SQL Server는 다릅니다.
http://technet.microsoft.com 여기서 공부를 하고 계신다고 하셨는데.. 여기서 다루는 것은 SQL Server 이고
알카디우스님께서 다루고 계신 디비는 MySQL 이기 때문에.. MySQL 문법을 찾아보셔야 합니다.
비유가 적절한지는 모르겠습니다만 ^^;; 독어 공부하려고 하는데 영어책 펴놓는 것이라고 볼 수 있습니다.
SQL Server는 PK를 Clustered Index 혹은 Non-Clustered Index로 선언이 가능하지만
MySQL에서는 PK를 무조건 Clustered Index가 됩니다.
MySQL 인덱스 조회
show index from 테이블명; --//여기서 key_name이 PRIMARY 가 PK 입니다.
PK 생성
alter table 테이블명 add primary key(컬럼1, 컬럼2..)
더욱 자세한 문법은 검색해보시기 바랍니다.
감사합니다 ^^
안녕하세요. MySQL은 primary key = clustered index 입니다.
따라서.. create clustered index 라는 문법은 지원하지 않고..
넌클러스터드 인덱스 생성인..
create index는 지원합니다.
clustered index를 컬럼에 만들고 싶으시면, pk로 선언하시기 바랍니다.
감사합니다 ^^