Vinzenz Mai: Erlaubte Zeichen in Bezeichnern

Beitrag lesen

Hallo

Nun ist es jedoch so, dass das Script bei Domains ohne Bindestrich hervorragend funktioniert, bei Domains mit Bindestrich jedoch einen haufen SQL-Fehler bei der Wordpress-Installation produziert. Ich vermute, dass MySQL keine Bindestriche in Tabellennamen mag.

Ja, das steht so in der Dokumentation. Das ist auch ganz logisch.

alpha-beta

wird gelesen als

alpha - beta

und die Spalten alpha und beta gibt es vermutlich nicht. Und selbst wenn, wäre das Ergebnis nicht das gewünschte ...

Übrigens mögen auch andere Datenbankmanagementsysteme aus gleichem Grund keine Bindestriche in Tabellennamen. Selbstverständlich erzählt die Dokumentation der Datenbankmanagementsysteme, mit welchen Zeichen solche Namen einzupacken sind, damit das DBMS doch damit umgehen kann:

Bei MS-Access und MS SQL-Server wird der Name in eckige Klammern gepackt, wie es bei MySQL geht, steht im Kapitel Database, Table, Index, Column, and Alias Names, nämlich mit Backticks.

Ich rate Dir dringend an, das Skript auf weitere naheliegende Fehler, wie mangelnder Absicherung gegen SQL-Injection, zu überprüfen. Deine bisherige Beschreibung hört sich nicht vertrauenserweckend an.

Freundliche Grüße

Vinzenz