2010-05-31 1 views

답변

1

외래 키가있는 동안 InnoDB에서 MyISAM으로 직접 변환 할 수 없습니다. 먼저 제약 조건을 제거해야합니다. 이렇게하려면 각 테이블에 대해 다음과 같이 각 구속 조건에 대해

  1. 문제 SHOW CREATE TABLE tablename
  2. ... 출력에 FOREIGN KEY 선언, 당신은 xCONSTRAINT을 사이에 표시되는 식별자입니다 ALTER TABLE tablename DROP FOREIGN KEY x를 발급해야합니다 및 FOREIGN KEY.
  3. SHOW CREATE TABLE tablename 다시. 외래 키 제약은 인덱스 뒤에 남을지도 모른다. (InnoDB는 각 외래 키에 인덱스를 필요로하기 때문에 제약 조건을 제거했기 때문에 인덱스를 제거 할 필요는 없다). 더 이상 원하지 않는 각 색인에 대해 ALTER TABLE tablename DROP INDEX indexname을 발행하십시오.

제약 조건과 관련된 모든 테이블에 대해이 작업을 완료하면 ALTER TABLE tablename ENGINE=MYISAM을 사용하여 테이블을 MyISAM으로 개별적으로 변환 할 수 있습니다.

+0

방금 ​​나에게 일어난 또 다른 일 : 주어진 ALTER TABLE 명령으로 한 가지 이상의 작업을 할 수 있으므로 다음이 유효합니다. ALTER TABLE tablename 외부 키 삭제 DROP 외부 키 x1, 외부 키 삭제 x2, ..., 외부 키 삭제 xn – Hammerite

+0

정말 고마워, 정말 많이 도와! – Joe

관련 문제