Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Tabellennamen in Kleinbuchstaben in Windows Großbuchstaben unter Unix

Entnommen von dev.mysql.com :

Um Datenübertragungsprobleme zu vermeiden, die durch die Schreibweise von Datenbank- oder Tabellennamen entstehen, haben Sie zwei Möglichkeiten:

  • Verwenden Sie auf allen Systemen Lower_case_table_names=1. Der Hauptnachteil dabei ist, dass Sie bei Verwendung von SHOW TABLES oder SHOW DATABASES die Namen nicht in ihrer ursprünglichen Schreibweise sehen.
  • Verwenden Sie unter Unix Lower_case_table_names=0 und unter Windows Lower_case_table_names=2. Dadurch wird die Schreibweise von Datenbank- und Tabellennamen beibehalten. Der Nachteil dabei ist, dass Sie darauf achten müssen, dass sich Ihre Anweisungen unter Windows immer mit der richtigen Schreibweise auf Ihre Datenbank- und Tabellennamen beziehen. Wenn Sie Ihre Anweisungen nach Unix übertragen, wo die Groß- und Kleinschreibung von Bedeutung ist, funktionieren sie nicht, wenn die Groß- und Kleinschreibung falsch ist.

Ausnahme:Wenn Sie InnoDB-Tabellen verwenden und versuchen, diese Datenübertragungsprobleme zu vermeiden, sollten Sie lower_case_table_names auf allen Plattformen auf 1 setzen, um zu erzwingen, dass Namen in Kleinbuchstaben umgewandelt werden.

Wenn Sie vorhaben, die Systemvariable lower_case_table_names unter Unix auf 1 zu setzen, müssen Sie zuerst Ihre alten Datenbank- und Tabellennamen in Kleinbuchstaben umwandeln, bevor Sie mysqld stoppen und mit der neuen Variableneinstellung neu starten.