Spaltenbezeichnung als Nummer
Clemens
- datenbank
Hallo,
ich habe die Spalten einer Tabelle in mysql mit den Nummern 1 bis 10 bezeichnet. Ich versuche nun die einzelnen Spalten hochzuzählen.
z.B.: UPDATE Bestellung SET 1=1+1, 2=2+1
Dies funktioniert jedoch nicht. Kann ich es irgendwie anders lösen, oder muss ich die Spalten anders bezeichnen?
Danke!
Clemens
Hallo Clemens,
ich habe die Spalten einer Tabelle in mysql mit den Nummern 1 bis 10 bezeichnet.
schlechtere Spaltennamen sind kaum denkbar. Gib den Spalten sprechende Namen.
Ich versuche nun die einzelnen Spalten hochzuzählen.
z.B.: UPDATE Bestellung SET 1=1+1, 2=2+1Dies funktioniert jedoch nicht.
Ach ja. Wundert Dich das? Siehst Du bei dieser Anweisung, ob es sich bei der Ziffer 1
um die Bezeichnung der Spalte 1 oder die Zahl 1 handelt? Woran sollte Dein DBMS diesen
Unterschied erkennen?
Kann ich es irgendwie anders lösen, oder muss ich die Spalten anders bezeichnen?
Ja klar. Am besten, indem Du die Spalten sinnvoll benennst.
Willst Du das nicht, so sagt Dir das relevante Handbuchkapitel unter anderem:
"Identifiers may begin with a digit but unless quoted may not consist solely of digits."
und
"The identifier quote character is the backtick (‘`’):"
Ich möchte aber nochmals betonen, dass die Verwendung von nummerierten Spalten
eine ganz schlechte Idee ist.
Freundliche Grüße
Vinzenz
ich habe die Spalten einer Tabelle in mysql mit den Nummern 1 bis 10 bezeichnet.
schlechtere Spaltennamen sind kaum denkbar. Gib den Spalten sprechende Namen.
Es gibt da wohl bei MySQL eine dementsprechende Syntax. Diese sollte natürlich gar nicht bzw. in Ausnahmefääen auf erklärende Namen angewandt werden.
Ich möchte aber nochmals betonen, dass die Verwendung von nummerierten Spalten
eine ganz schlechte Idee ist.
Es mag Ausnahmen geben, wenn bspw. den Attributen keine reale Bedeutung zugemessen werden kann.