Mysql: Queries auf 4.024 portieren
ThomasP
- datenbank
0 EKKi
Hallo!
Ich bin gerade am Verzweifeln weil ich mein selbst programmiertes Forum auf einem Server installieren muß auf dem die prähistorische MySql-Version 4.024 läuft. Folgendes läuft zwar super unter MySQL 5.xx aber eben nicht unter 4.024:
SELECT isgweb_threads.id, title, (SELECT MAX(creationtime) FROM isgweb_threads AS trs WHERE trs.parentid=isgweb_threads.id) AS lastaction, (SELECT COUNT(*) FROM isgweb_threads AS trs2 WHERE trs2.parentid=isgweb_threads.id) -1 AS answers, isgweb_user.username, forumid FROM isgweb_threads, isgweb_user WHERE parentid=isgweb_threads.id AND isgweb_user.id=isgweb_threads.userid ORDER BY lastaction DESC LIMIT 0, 10
Ok, ist sicher nicht supereffizient programmiert (bin einfach kein DB-Profi) aber klappt unter aktuellen Versionen. Vermutlich liegts an den Selects in Klammer. Das kann die alte Version einfach nicht.
Daher habe ich mir folgendes überlegt:
SELECT isgweb_threads.id, title, count(*) -1 AS answers, MAX(creationtime) AS lastaction, username, isgweb_threads.forumid AS forumid FROM isgweb_threads, isgweb_user WHERE isgweb_threads.userid = isgweb_user.id GROUP BY parentid ORDER BY MAX(creationtime) DESC LIMIT 0, 10
Das sieht schon etwas schlanker aus und da sind keine Sub-Queries mehr drin. Naja, geht trotzdem nicht. "Invalid use of group-function".
Langsam bin ich am verzweifeln. Das Ganze sollte mir einfach nur die neuesten 10 Threads anzeigen, mehr nicht.
Die Tabelle ist ganz einfach aufgebaut:
id int
title varchar
content text
userid int
forumid int
parentid int
creationtime int
Anzumerken wäre noch, daß der jeweils erste Beitrag eines Threads parentid=id gesetzt hat. Das vereinfacht einfach die Anzeige des Threads selbst.
Über Hilfe von Leuten die sich mit DBs besser auskennen als ich wäre ich sehr glücklich :)
Irgendwie muß es ja gehen, denn es gab auch zu Zeiten von MySQL 4.024 bereits Foren ;)
viele Grüsse und danke im Voraus
Thomas.
Mahlzeit ThomasP,
Ich bin gerade am Verzweifeln weil ich mein selbst programmiertes Forum auf einem Server installieren muß auf dem die prähistorische MySql-Version 4.024 läuft.
Was spricht dagegen, die Ursache Deines Problems zu beheben (nämlich diese antike und archäologisch nicht besonders wertvolle MySQL-Version auf den neuesten Stand zu bringen), anstatt an den Symptomen herumzudoktorn?
MfG,
EKKi