mysql tabellennamen mit sonderzeichen

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
Voyager_MP
Beiträge: 628
Registriert: 22.06.2004 10:04:07
Wohnort: Aachen

mysql tabellennamen mit sonderzeichen

Beitrag von Voyager_MP » 23.04.2007 10:13:36

CREATE TABLE IF NOT EXISTS SIE.DU
^^^^^^^

warum kann ich nicht Tabellen mit einem . in der sql anlegen ?


CREATE TABLE IF NOT EXISTS SIE.DU bla bal | mysql
Gruß Michel

Benutzeravatar
shoening
Beiträge: 915
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von shoening » 23.04.2007 10:19:42

Hallo,

weil der Punkt ein reserviertes Zeichen in SQL ist.
Den braucht man z.B. in Join Queries, um zu spezifizieren, aus welcher Tabelle
ein bestimmtes feld der Ergebnismenge kommen soll.

Ciao
Stefan

Benutzeravatar
Voyager_MP
Beiträge: 628
Registriert: 22.06.2004 10:04:07
Wohnort: Aachen

Beitrag von Voyager_MP » 23.04.2007 10:36:23

ok, dachte ich mir, nur leider gibts keinen richtig sauberen weg, um um den punkt herum zu kommen. kann ich denn irgendwie quoten ?

PS.: wenn ich versuche die tabele via phpadmin zu erstellen, dann gehts auch mit punkt
Gruß Michel

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 23.04.2007 11:51:17

Quoten mit " sollte gehen. Kenn zwar MySQL nicht wirklich, aber bei Oracle gehts so ;-)

Ob er dann den Punkt im Namen schluckt? Keine Ahnung.

Schön isses nicht, da du dann immer quoten mußt. Und verwirrend ist es auch..
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 25.04.2007 14:24:04

Wieso kommst du um den Punkt nicht rum?
Normal trennt der Punkt Tabelle und Spaltennamen oder auch Schema und Tabelle. Von daher ist ein Punkt im Namen, auch wenns mit Quoting geht, sehr verwirrend und wird dir sicherlich viel Ärger bereiten.
Ersetz ihn doch einfach durch ein anderes Zeichen, z.B. _ oder -.

Antworten