simple MySQL-Anweisung mit upper drin mag nicht
Michi
- datenbank
Hallo,
beim Ausführen von
SELECT upper(email) FROM kunden
in MySQL, wobei email vom Typ TEXT (alternativ auch schon VARCHAR(255) probiert) bekomme ich den Fehler:
______________________________________________________________________
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '( email ) FROM grundrissprofi\_kunden
LIMIT 0, 30' at line 1
______________________________________________________________________
Schade, dass die MySQL-Fehlermeldungen nicht etwas präziser auf die Fehlerursache eingehen.
SELECT upper('test')
(als Test, ob upper erkannt wird) dagegen funktioniert.
Was passt jetzt an der obigen Anweisung nicht...? :)
Gruß Michi
Hello,
SELECT upper(email) FROM
kunden
könnte da eventuell ein Leerzeichen zwischen upper und die öffnende Klammer geraten sein?
Da müsste zwar dann eigentlich kommen "Funktion datenbankname.upper does not exist" aber Du hast uns bisher nicht gesagt, welche Version Du benutzt. Vielleicht war das füher anders ...
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hallo,
könnte da eventuell ein Leerzeichen zwischen upper und die öffnende Klammer geraten sein?
Hab ich auch erst gemeint, aber - nicht der Fall. ;)
Nochmal direkt rauskopiert:
SELECT upper(email) FROM kunden
Auf dem Server ist MySQL 4.1.22 installiert. Hab auch schon versucht, rauszubekommen, ob es vielleicht mit der Version zusammenhängt, nun steht aber in den MySQL-Referenzen nicht dabei, mit welcher Version da was wie dazukam... oder gibts da irgendwo online einen Hinweis?
Komm da im Moment nicht dahinter, was an der Anweisung nicht stimmt.
Gruß Michi
Hello,
SELECT upper(email) FROM
kunden
#1064 ist auf jeden fall ein Parse Error.
Da ist also schon eine Macke im SQL-String.
Wie kommt der denn zur Schnittstelle?
Scriptsprache, Frontend, Konsole?
Hast Du die Möglichkeit, die MySQL-Konsole (z.B. über ssh) zu benutzen?
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
____________________________________________________________________
#1064 ist auf jeden fall ein Parse Error.
Da ist also schon eine Macke im SQL-String.
Wie kommt der denn zur Schnittstelle?
Scriptsprache, Frontend, Konsole?
Hast Du die Möglichkeit, die MySQL-Konsole (z.B. über ssh) zu benutzen?
____________________________________________________________________
Den Fehler krieg ich, wenn ich die Query über PHP verarbeite genauso wie in der Query-Box von phpMyAdmin. Habs auch schon mit Alias probiert, ändert nichts.
SSH-Zugang hab ich keinen.
(Da sind bereits meterlange Anweisungen im System, die machen alle keine Probleme, aber bei der mit Abstand Kürzesten komm ich nicht dahinter, worans da jetzt fehlt. :) Wenn ich upper direkt auf einen fix kodierten String anwende, gehts wie gesagt, also upper ist dieser Version bekannt und dass es nur für fixe Strings bekannt ist, nicht aber für Datenbankspalten, kann ich mir jetzt nicht vorstellen...?)
Etwas ratlos. :)
Hello,
Wenn ich upper direkt auf einen fix kodierten String anwende, gehts wie gesagt, also upper ist dieser Version bekannt und dass es nur für fixe Strings bekannt ist, nicht aber für Datenbankspalten, kann ich mir jetzt nicht vorstellen...?)
Nö, das funktioniert hier auch.
Ich habe auch alle mir einfallenden Fehler schon künstlich erzeugt um die Meldung zu repeoduzieren. Aber das hat nichts gebracht.
Liegt es vielelicht an den Backticks? Vielleicht sehen die bei Dir nur so aus, wie Backticks.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Auf einem anderen meiner Server klappt das komischerweise, da wend ich mich mal an den Support, ob die eine Vermutung haben, ich post dann das Ergebnis... ;)
Hello,
hast du zufällig eine Spalte "upper" in deiner Tabelle? UPPER ist _nicht_ auf der Liste der MySQL reserved Words, vielleicht beißt sich das.
Ansonsten erlaube ich mir die Anmerkung, dass deine Ausgangsfehlermeldung nicht zu deinem Ausgangsstatement passt! kunden vs grundrissprofi_kunden
Sowas macht bei der gemeinsamen Fehlersuche immer misstrauisch.
MfG
Rouven
Hello,
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '( email ) FROM
grundrissprofi\_kunden
LIMIT 0, 30' at line 1
Also bei Version 3.23.55 bekomme ich einen sehr ähnlichen Fehlertext, wenn zwischen Funktionsname und Klammer ein Leerzeichen steht. Das mag die Version auch nicht, wuittiert es aber mit einer anderen Fehlermeldung, als z.B. die MySQL 5.0.x
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom