Ich betreibe Blogengine.Net und habe bemerkt, dass die Tische alle Kleinbuchstaben (Tabellenname be_settings) erstellt werden, aber viele der Abfragen werden Mixedcase (Select * from be_Settings) geschrieben. Dies funktioniert einwandfrei, wenn Ihre MySql-Instanz unter Windows ausgeführt wird oder für die Kompatibilität mit Windows festgelegt ist. Ich erhalte einen Fehler, weil meine Hosting-Provider-MySql-Instanz Groß- und Kleinschreibung unterscheidet. Gibt es eine Einstellung, die ich ändern kann, um diesen Fehler durch phpMyAdmin zu beheben? Ich möchte nicht den ganzen Code durchforsten und BlogEngine.Net reparieren müssen, wenn ich nicht muss.Ändern MySql Groß-/Kleinschreibung mit phpMyAdmin?
Antwort
Wenn Sie versuchen, dies für BlogEngine.Net zu lösen Sie leicht alle Tabellen umbenennen Camelcase als alle Abfragen in BlogEngine.Net geschrieben Camelcase verwenden zu verwenden.
Wie wird die Datenbank erstellt werden? Sie können feststellen, dass die Abfragen, die die Tabellen verwenden den richtigen Fall erstellen:
CREATE TABLE be_Settings (...)
Es ist nur so, dass MyISAM-Tabellen als Dateien im Dateisystem gespeichert sind, und da es unter Windows ist, sind sie nur in Kleinbuchstaben umgewandelt . Wenn Sie die Datenbank aus diesen Abfragen auf einem Linux-System erstellen, werden Sie feststellen, dass sich alle Tabellen im richtigen Fall befinden.
Die Lehre aus dieser ist es, immer Tabellen Namen Kleinbuchstaben zu machen ...
Die Einstellung, die Sie sind nach heißt lower_case_table_names (auf 1 oder 2). Leider musste dies beim Start des MySQL-Daemon eingestellt werden, nicht bei phpmyadmin. Könnten Sie Ihren Hosting-Provider bitten, dies für Sie zu tun?
Fall Empfindlichkeit in MySQL Tabellennamen ist für die OS-spezifisch. MySQL-Daten werden in Dateien gespeichert, die den vom Betriebssystem erzwungenen Regeln unterliegen. Linux unterscheidet zum Beispiel zwischen Groß- und Kleinschreibung.
Es ist eine Variable ‚lower_case_table_names‘, die manipuliert werden kann, aber es scheint, wie Sie alle Tabellen neu erstellen müssten.
http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html
- 1. Port von Mysql Server in Phpmyadmin ändern
- 2. Installation von MySQL & phpMyAdmin
- 3. phpmyadmin syntax fehler mit mysql db
- 4. Standardkollektion in phpmyadmin ändern
- 5. Rechte INSERT PHPmyadmin MySQL
- 6. phpMyAdmin Standard Theme ändern
- 7. Datumsformat in phpmyadmin ändern
- 8. MySQL Workbench vs phpMyAdmin
- 9. MySQL Datenbankserver vs. Phpmyadmin
- 10. MYSQL Triggerfehler phpmyadmin
- 11. Exportieren/Importieren von MySQL-Datenbank mit phpmyadmin
- 12. Synchronisieren MySQL remote & lokale Datenbank mit phpMyAdmin
- 13. MySQL phpmyadmin Alternativen (mySQL Workbench wie)
- 14. Mysql apache2 phpMyAdmin auf ubuntu
- 15. MySQL date Spalte in phpmyadmin
- 16. phpmyadmin hat keine mysql-Datenbank
- 17. MySQL UNION ALL unter phpMyadmin
- 18. erstellen mysql dump wie phpMyAdmin
- 19. phpMyAdmin "Keine Datenbank ausgewählt" MySQL
- 20. Android, PHP, MySQL und phpMyAdmin
- 21. MySQL - PhpMyadmin - Erstellen mehrerer Tabellen
- 22. MySQL Standard Datetime durch phpmyadmin
- 23. Verbinden mit phpmyadmin
- 24. UPDATE mit phpMyAdmin
- 25. ändern phpMyAdmin den Weg für WampServer
- 26. phpMyAdmin: MySQL Fehler 1062 - Eintrag doppelt
- 27. information_schema zeigt "unbekannter Tabellenstatus: TABLE_TYPE" mysql phpmyadmin
- 28. Exportieren MySQL Spalten Aliase in phpMyadmin
- 29. Wie man Datenbank in MySQL/phpMyAdmin zurückstellt?
- 30. phpMyAdmin mysql gespeichert Emoji als Fragezeichen
Wenn nur BlogEngine.Net diese Regel gefolgt war. –
Sie könnten versuchen, die Dateien zu InnoDB zu ändern .... – nickf
ich geprüft und alle Tabellen verwenden InnoDB. Ich war in der Lage, alle Tabelle mit phpMyAdmin umzubenennen, so dass sie Camelcase verwenden, da Blugengine.Net Camelcase in allen Abfragen verwendet –