2014-09-30 5 views
2

다음 쿼리로 데이터베이스의 이름을 바꿀 수 없습니다. mysql2를 사용하고 있습니다.Mysql 이름 바꾸기 데이터베이스가 작동하지 않습니다.

RENAME DATABASE a to b; 

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 'database a to b' at line 1 

나는 mysql을 처음 사용하고 있습니다. 올바른 구문은 무엇입니까?

+0

복제본 [가능한 빨리 mysql 데이터베이스의 이름을 바꾸는 (스키마 이름 변경)]?] (http://stackoverflow.com/questions/67093/how-do-i-quickly-rename-a-mysql-database) -change-schema-name) –

+6

해당 명령이 제거되었습니다. - http://dev.mysql.com/doc/refman/5.1/en/rename-database.html을 참조하십시오. 대신 ALTER DATABASE를 사용하십시오. – Giles

+0

@Giles - 데이터베이스 a를 b로 변경합니다. 이것은 또한 오류 – Sam

답변

0

새 데이터베이스를 만들고 테이블 이름을 바꾸어 새 데이터베이스에 넣고 나중에 이전 데이터베이스를 삭제할 수 있다고 생각합니다. 위의 모든 테이블을 사용 할 수 있도록 링크에서 스크립트를 사용하여

CREATE DATABASE my_new_database; 
RENAME TABLE my_old_database.tbl_name TO my_new_database.tbl_name; 
DROP DATABASE my_old_database; 

, 그래서 이것은 거의 자동으로 수행 할 수 있습니다 https://blog.marceloaltmann.com/how-to-rename-a-database-in-mysql/

그러나 기본적으로 무엇인가 :

여기에서 자세한 내용을 찾을 수 있습니다. 명령 참조를 제거되었는지

1

-dev.mysql.com/doc/refman/5.1/en/rename-database.html :

은 (SELECT CONCAT('RENAME TABLE ', GROUP_CONCAT(table_schema,'.',table_name, ' TO ','new_schema.',table_name,' '),';') as stmt FROM information_schema.TABLES WHERE table_schema LIKE 'oldSchema' GROUP BY table_schema 나는이 의미). 대신 ALTER DATABASE를 사용하십시오.

관련 문제