Mit MySQL das Alter berechnen – Teil 2
September 24th, 2007 12:31 Uhr von
Ronald
Vor ein paar Tagen habe ich einen Eintrag geschrieben, wie man mit MySQL das Alter berechnen kann. Nun möchte ich noch mal ein paar Hinweise geben, wie man verhindern kann, dass man beim Testen wahnsinnig wird – so wie es mir fast ergangen wäre.
Ich arbeite fast ausschließlich mit phpMyAdmin, obwohl ich weiß, dass es z.B. gerade für Stored Procedures nicht sonderlich gut geeignet ist. Nun habe ich beim Testen der einzelnen Teile der SQL-Abfrage ein Problem entdeckt. Dazu muss man wissen, dass phpMyAdmin sehr oft bei SELECT-Abfragen ein “LIMIT 0, 30″ anhängt, um das Ergebnis auf die ersten 30 Reihen zu beschränken. Nach welchen Regeln das läuft, ist mir allerdings nicht so ersichtlich. Eigentlich ist es aber sehr komfortabel.
Folgenden Code liefert über phpMyAdmin ein makelloses Ergebnis:
Ergebnis (zumindest “heute”): 200709
Der nächste Test:
Dort hängt phpMyAdmin automatisch ein LIMIT 0, 30 an, also wird daraus:
Und dann knallt’s erst mal ganz ordentlich und der rote böse phpMyAdmin-Error-Screen taucht auf. Wenn man nun nicht so auf das LIMIT 0, 30 achtet, bzw. denkt, dass das nicht schlimm ist, weil es ja damit sonst auch immer klappt, dann steht man da und guckt wie eine Kuh wenn’s donnert.
Auch die Fehlermeldung irritiert nur, denkt man doch, dass irgendwas an der Syntax falsch ist:
#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 ‘YEAR_MONTH FROM ‘2007-09-24′ )
LIMIT 0, 30′ at line 1
Fazit: Die Syntax ist auf jeden Fall richtig, was ein Test auf der Konsole belegen kann. Es handelt sich also um eine verkettung doofer (phpMyAdmin-)Umstände.
Mysteriös!
Geschrieben in MySQL |
1 Kommentar »







September 24th, 2007 um 15:38
Diesen Ansatz zur Altersberechnung von MySQL kannte ich nun noch nicht.