2016-08-04 5 views
1

Ich habe ein Update OSX:Mysql name Klein nach osx Update

https://support.apple.com/en-us/HT206770

Nach dem es mysql Kleinbuchstaben speichert alle meine neuen Tabellen scheint.

Ich benutze MAMP 3.5.2. Die MySQL-Einstellungen sind standardmäßig für Mac OSX

/Applications/MAMP/Library/bin/mysqladmin variables | grep case 
| lower_case_file_system       | ON                              | 
| lower_case_table_names       | 2                              | 

Ich bemerkte mit:

[mysqld] 
lower_case_table_names=1 

Speichert meinen Tisch camelcase, doch diese es Einstellung mit nicht zulässt camelcase Tabellennamen suchen, da sie suchen für Kleinbuchstaben. Hat jemand eine Ahnung?

Antwort

1

OSX verwendet standardmäßig ein registriertes, case-insensitive Dateisystem.

Für lower_case_table_names = 1

Tabellennamen sind klein- und auf der Festplatte und den Namen Vergleiche gespeichert werden Groß- und Kleinschreibung. MySQL konvertiert beim Speichern und Suchen alle Tabellennamen in Kleinbuchstaben. Dieses Verhalten gilt auch für Datenbanknamen und Tabellenaliase.

auf der Einstellmöglichkeit Basierend für lower_case_table_names = 2

Tabelle und Datenbank-Namen werden auf der Festplatte mit der Schreibweise in der Tabelle oder CREATE CREATE DATABASE-Anweisung angegeben gespeichert, aber MySQL konvertiert sie auf Nachschlag in Kleinbuchstaben. Namensvergleiche unterscheiden nicht zwischen Groß- und Kleinschreibung. Dies funktioniert nur bei Dateisystemen, bei denen die Groß-/Kleinschreibung nicht beachtet wird! InnoDB-Tabellennamen werden in Kleinbuchstaben gespeichert, wie für lower_case_table_names = 1.

Beachten Sie, dass mit dieser Einstellung Mysql immer noch die innodb speichern .ibd Dateien ein niedrigerer Fall, auch wenn Sie Groß- und Kleinschreibung in Mysql ermöglichen (es die .frm Tabelle nicht speichern, wie Sie (Kamel Fall wählen.)

So

Das Mitnehmen: Sie können das Dateisystem immer nicht steuern (jemand mein Port Ihr Schema zu mysql läuft auf Linux, Windows, etc ...), also immer davon ausgehen Groß-und Kleinschreibung für Tabellennamen in mysql, ein nicht Kamel Fall. Ich würde auch empfehlen Das Gleiche gilt für Datenbank- und Spaltennamen.

+0

Ja, ich verstehe. Wir haben bei meiner Firma immer so gearbeitet. Es ist nur so, dass es nach dem Mac OSX Update nicht mehr funktioniert. –

+0

@MaartenvanMiddelaar in mysql schauen Sie, was die Einstellungen tatsächlich sind 'zeige globale Variablen wie" lower% "', aber ich bin mir nicht sicher, warum es nicht wie oben erwähnt war, bevor Sie das Update durchgeführt haben. – Ray

+0

Dank Ray, es ist eine andere Möglichkeit, um die Daten zu erhalten. Ein bisschen leichter in der Tat. Es hilft auch nicht, eine Antwort auf meine Frage zu finden. –