2009-11-10 12 views
17

Moja nazwa bazy danych to SPM i chcę ją zmienić na spm (małe litery).Jak zmienić wielkość nazwy bazy danych w MySQL?

Próbowałem za pomocą

RENAME DATABASE SPM TO spm; 

, ale otrzymuję następujący komunikat o błędzie:

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 

Moja wersja serwera: 5.0.45

+0

ERROR 1064 (42000): masz błąd we n twoja składnia SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL dla właściwej składni do użycia w pobliżu "SPM SPM to spm" w linii 1 – Rachel

+0

mysql> RENAME DATABASE SPM TO spm; BŁĄD 1064 (42000): Wystąpił błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL dla właściwej składni do użycia w pobliżu "DATABASE SPM TO SPM" w wierszu 1 – Rachel

+0

możliwy duplikat [Jak szybko zmienić nazwę bazy danych mysql (zmienić nazwę schematu)?] (http://stackoverflow.com/questions/67093/how-do-i-quickly-rename-a-mysql-database-change-schema-name) –

Odpowiedz

29

Nie ma polecenia bazy danych, aby to zrobić. Zasadniczo musisz to zrobić poza bazą danych. Poniżej znajdują się odniesienia do możliwych rozwiązań. Został on odpowiedział całkiem dobry w tym question

To jest chyba to, co powinno wyglądać w przypadku

mysqladmin create spm 
mysqldump SPM | mysql spm 

Po upewnieniu się, że wszystko jest w porządku można upuścić oryginalnej bazy danych.

drop database SPM 

Odniesienia Rename database 1/Rename database 2

[Uwaga na żądanie "RENAME DATABASE". To stwierdzenie dodano MySQL 5.1.7 ale stwierdzono, że są niebezpieczne i usunięto MySQL 5.1.23]

+0

Po prostu chciałem dodać, phpMyAdmin mają funkcję Zmień nazwę. Po prostu wybierz bazę danych, a następnie kliknij "Operacje", a następnie Zmień nazwę. Tworzy bazę danych z nową nazwą, kopiuje starą, a następnie ją usuwa. –

-1

Odbywa się to za pomocą RENAME DATABASE oświadczenie:

RENAME DATABASE old_db_name TO new_db_name; 

To oświadczenie zostało dodane w MySQL 5.1.7, ale zostało uznane za niebezpieczne i zostało usunięte w MySQL 5.1.23.

+0

Mam nadzieję, że nie przeszkadza ci, że zmieniłem twoją odpowiedź. Jeśli uważasz, że było to nieodpowiednie, możesz je cofnąć. – soulmerge

+0

Nie mam nic przeciwko :) Dodałem jednak małą nutę. – dstibbe

+3

Nie dotyczy. I nie powinno się go używać. –

-1

Użyj polecenia rename database.

Możesz również spróbować zatrzymać swój serwer mysql i zmienić nazwę folderu zawierającego dane bazy danych na preferowaną. Następnie uruchom swój serwer i sprawdź granty - mogą one nadal zawierać odniesienia do starej nazwy bazy danych.

+0

BŁĄD 1064 (42000): Wystąpił błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL dla właściwej składni do użycia w pobliżu "SPM SPM do spm" w wierszu 1 – Rachel

+0

Podaj mi polecenie, które próbujesz wykonać. – silent

+0

mysql> RENAME DATABASE SPM TO SPM; BŁĄD 1064 (42000): Wystąpił błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL dla właściwej składni do użycia w pobliżu 'DATABASE SPM TO SPM' w linii 1 – Rachel

1

Zastosowanie mysql_dump zrzucić całą zawartość bazy danych starego schematu (produkuje wyjście SQL i może obejmować cały obiekt CREATE), przejście do nowego schematu i wykonać ten skrypt mysql> . dump.sql

Jeśli jest to duża baza danych, może to chwilę potrwać, ale jest to najbezpieczniejsza metoda (należy zawiesić wszelkie aplikacje korzystające z bazy danych podczas trwania procesu konwersji).

Usuń stary schemat, gdy masz pewność, że wszystko działa.

+0

Czy możesz wyjaśnić więcej o tym, jak można to osiągnąć, ponieważ nigdy nie użyłem mysql dump i dlatego nie jestem pewien jak to będzie działać – Rachel

+0

Czy naprawdę musisz umieścić go w pliku? Czy to okno jest specyficzne? –

3
RENAME {DATABASE | SCHEMA} db_name TO new_db_name; 

To oświadczenie zostało dodane w MySQL 5.1.7, ale zostało uznane za niebezpieczne i zostało usunięte w MySQL 5.1.23. Miało to umożliwić uaktualnienie baz danych przed wersją 5.1 w celu wykorzystania kodowania zaimplementowanego w 5.1 do mapowania nazw baz danych do nazw katalogów baz danych. Jednak użycie tej instrukcji może spowodować utratę zawartości bazy danych, dlatego została usunięta. Nie używaj RENAME DATABASE we wcześniejszych wersjach, w których jest obecny.

Aby wykonać zadanie uaktualniania nazw baz danych przy użyciu nowego kodowania, należy zamiast tego użyć ALTER DATABASE db_name UPGRADE DATA DIRECTORY NAME.

0

można zmienić nazwę bazy danych MySQL interfejs użytkownika

Krok 1: Przede wszystkim idź do localhost/phpmyadmin/i kliknij na bazie

Krok 2: Kliknij na zakładce Opertaion

Krok 3: Wpisz nową nazwę bazy danych do bazy danych (Zmień nazwę) textField

Krok 4: Kliknij na Go buttton

Powiązane problemy