2009-11-10 3 views
17

Мое имя базы данных SPM, и я хочу изменить его на spm (маленькие буквы).Как я могу изменить регистр имени базы данных в MySQL?

Я попытался с помощью

RENAME DATABASE SPM TO spm; 

, но я получаю следующее сообщение об ошибке:

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 SPM to spm' at line 1 

Моя версия сервера: 5.0.45

+0

ERROR 1064 (42000): у вас ошибка я n ваш синтаксис SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «SPM SPM to spm» в строке 1 – Rachel

+0

mysql> RENAME DATABASE SPM TO spm; ERROR 1064 (42000): У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «DATABASE SPM TO spm» в строке 1 – Rachel

+0

Возможный дубликат [Как быстро переименовать базу данных mysql (изменить имя схемы)?] (http://stackoverflow.com/questions/67093/how-do-i-quickly-rename-a-mysql-database-change-schema-name) –

ответ

29

Для этого нету команды базы данных. Вы в основном должны делать это за пределами базы данных. Ниже приведены некоторые рекомендации, в которых изложены возможные решения. Это было отвечено довольно хорошо в этом question

Это, вероятно, что это должно выглядеть в вашем случае

mysqladmin create spm 
mysqldump SPM | mysql spm 

После того как вы убедились, что все в порядке, вы можете оставить исходную базу данных.

drop database SPM 

Ссылки Rename database 1/Rename database 2

[Примечание по команде "RENAME DATABASE":. Это заявление было добавлено в MySQL 5.1.7, но было установлено, что опасно и был удален в MySQL 5.1.23]

+0

Просто хотел добавить, phpMyAdmin имеет функцию переименования. Просто выберите базу данных и нажмите «Операции», а затем переименуйте. Он создает базу данных с новым именем, копирует старую и удаляет ее. –

-1

Это делается с RENAME DATABASE :

RENAME DATABASE old_db_name TO new_db_name; 

Это заявление было добавлено в MySQL 5.1.7, но было признано опасным и было удалено в MySQL 5.1.23.

+0

Надеюсь, вы не против, что я изменил ваш ответ. Не стесняйтесь возвращаться, если считаете, что это неуместно. – soulmerge

+0

Я не возражаю :) Однако я добавил небольшую заметку. – dstibbe

+3

Не применяется. И его не следует использовать. –

-1

Использование команды rename database.

Вы также можете попытаться остановить ваш сервер mysql и переименовать папку, содержащую ваши данные db, на имя, которое вы предпочитаете. Затем запустите свой сервер и проверьте гранты - они могут содержать ссылки на ваше старое имя базы данных.

+0

ERROR 1064 (42000): У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии сервера MySQL, для правильного синтаксиса для использования рядом с «SPM SPM to spm» в строке 1 – Rachel

+0

Пожалуйста, дайте мне команду, которую вы пытаетесь выполнить. – silent

+0

mysql> RENAME DATABASE SPM TO spm; ERROR 1064 (42000): У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «DATABASE SPM TO spm» по строке 1 – Rachel

1

Используйте mysql_dump, чтобы отобразить содержимое базы данных старой схемы (она производит вывод SQL, и может включать в себя весь объекте CREATE заявления), перейти на новую схему и выполнить этот скрипт mysql> . dump.sql

Если это большая база данных, это может занять некоторое время, но это самый безопасный способ сделать это (убедитесь, что вы приостановили действие любых приложений, используя базу данных, когда процесс конверсии продолжается).

Удалите старую схему, когда вы удовлетворены тем, что все сработало.

+0

Можете ли вы объяснить, как это можно сделать, поскольку я никогда не использовал mysql dump и поэтому не уверен, как это будет работать. – Rachel

+0

Вам действительно нужно помещать его в файл? Являются ли эти окна конкретными? –

3
RENAME {DATABASE | SCHEMA} db_name TO new_db_name; 

Данное заявление добавлено в MySQL 5.1.7, но было признано опасным и было удалено в MySQL 5.1.23. Предполагалось включить обновление баз данных до 5.1, чтобы использовать кодировку, реализованную в 5.1, для сопоставления имен баз данных с именами каталогов базы данных. Однако использование этого оператора может привести к потере содержимого базы данных, поэтому он был удален. Не используйте RENAME DATABASE в более ранних версиях, в которых он присутствует.

Чтобы выполнить задачу обновления имен баз данных с помощью новой кодировки, вместо этого используйте ALTER DATABASE db_name UPGRADE DATA DIRECTORY NAME.

0

Вы можете изменить имя базы данных с помощью MySQL пользовательского интерфейса

Step1: Прежде всего Перейти на локальные/PHPMyAdmin/и нажмите на базе

Шаг2: Нажмите на вкладке Opertaion

STEP3: Введите новое имя базы данных в (Переименовать базу данных в) текстовое поле

Шаг 4: Нажмите на Go Buttton

Смежные вопросы