2016-07-19 5 views
1

MySQL 사용자 매뉴얼에서 테이블 복사가 필요 없기 때문에 다음 명령이 RENAME 명령보다 빠르다고합니다.MySQL이 기존 테이블의 이름을 변경하고 덮어 쓰기

ALTER TABLE table1 RENAME TO table2; 

http://dev.mysql.com/doc/refman/5.7/en/alter-table.html

그러나, 우리가 신속/이름 변경 MYSQL 5.6의 기존 테이블에 테이블을 덮어 쓸 수 있습니다 어쨌든 있나요? 다음 명령을 시도했는데 "SQL synthax에 오류가 있습니다."라는 오류가 표시됩니다.

ALTER TABLE table1 RENAME OVERWRITE TO table2; 

전문가가 계몽 할 수 있습니까? 감사.

답변

1

어디에서 봤는지 잘 모르겠습니다. 하지만 ...

RENAME TABLE old_table TO new_table;

이 문은 다음 ALTER TABLE 문 하는 것과 같습니다

ALTER TABLE old_table RENAME new_table;

출처 : 이름을 바꿀 경우 http://dev.mysql.com/doc/refman/5.7/en/rename-table.html

그 이름을 가진 테이블과 테이블 존재한다면, 먼저해야합니다.

DROP TABLE old_table 

때문에 MySQL은 소스 테이블의 존재 여부를 확인하기 전에 대상 테이블의 이름을 확인합니다. 예를 들어, new_table이 이미 있고 old_table이 아니라면 다음 문장은 다음과 같이 실패합니다. (예를 들어)