Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak zmienić nazwy tabel MySQL na serwerze Linux, aby nie uwzględniały wielkości liter?

Rozróżnianie wielkości liter w MySQL jest domyślnie obsługiwane przez system plików, dlatego znalazłeś tę różnicę:

9.2.2. Rozróżnianie wielkości liter w identyfikatorze

W MySQL bazy danych odpowiadają katalogom w katalogu danych. Każda tabela w bazie danych odpowiada co najmniej jednemu plikowi w katalogu bazy danych (i prawdopodobnie większej liczbie, w zależności od silnika magazynu). W związku z tym rozróżnianie wielkości liter w bazowym systemie operacyjnym odgrywa rolę w rozróżnianiu wielkości liter w nazwach baz danych i tabel. Oznacza to, że w nazwach baz danych i tabel nie jest rozróżniana wielkość liter w systemie Windows i wielkość liter w większości odmian systemu Unix. Jednym godnym uwagi wyjątkiem jest Mac OS X, który jest oparty na systemie Unix, ale używa domyślnego typu systemu plików (HFS+), w którym nie jest rozróżniana wielkość liter. Jednak Mac OS X obsługuje również woluminy UFS, w których rozróżniana jest wielkość liter, tak jak w każdym systemie Unix. Zobacz Sekcja 1.8.4, „Rozszerzenia MySQL do standardowego SQL”.

Na szczęście następne zdanie może ci pomóc:

lower_case_table_names zmienna systemowa wpływa również na sposób, w jaki serwer obsługuje rozróżnianie wielkości liter w identyfikatorze, jak opisano w dalszej części tej sekcji.

lower_case_table_names notka:

Jeśli jest ustawiona na 0, nazwy tabel są przechowywane zgodnie ze specyfikacją, a w porównaniach rozróżniana jest wielkość liter. Jeśli jest ustawiona na 1, nazwy tabel są przechowywane na dysku małymi literami, a w porównaniach nie jest rozróżniana wielkość liter. Jeśli ustawiono na 2, nazwy tabel są przechowywane tak, jak podano, ale porównywane są małymi literami. Ta opcja dotyczy również nazw baz danych i aliasów tabel. Aby uzyskać dodatkowe informacje, zobacz Sekcja 9.2.2, „Wrażliwość na wielkość liter w identyfikatorze”.

Nie należy ustawiać tej zmiennej na 0, jeśli używasz MySQL w systemie, w którym nazwy plików nie uwzględniają wielkości liter (takich jak Windows lub Mac OS X). Jeśli ustawisz tę zmienną na 0 w takim systemie i uzyskasz dostęp do nazw tabel MyISAM przy użyciu różnych liter, może to spowodować uszkodzenie indeksu. W systemie Windows wartość domyślna to 1. W systemie Mac OS X wartość domyślna to 2.

Wygląda na to, że powinieneś ustawić lower_case_table_names do 1 w pliku konfiguracyjnym MySQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL podziel wartości na wiele wierszy

  2. Jak skopiować dane z jednej tabeli do innej nowej tabeli w MySQL?

  3. Pisanie opcjonalnych parametrów w procedurach składowanych w MySQL?

  4. Jak naprawić bazę danych MySQL w cPanel?

  5. Funkcja MySQL SQRT() — zwraca pierwiastek kwadratowy liczby w MySQL