PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verzweiflung! Simples DELETE Query, wo is der Fehler?


hallo00
24.07.2002, 08:58
hi,

habe da ein verdammt simples Problem, was ist an diesem DELETE Query falsch? Habe schon alles probiert immer died der mir wech :(

mysql_query("DELETE FROM box ORDER BY Zeit LIMIT $del") or die("bla");

möchte halt immer nur 5 EInträge in der der Tabelle für eine msgbox haben und da soll der mir immer die letzte(n) weglöschen, aber der gibt mir immer nen Fehler an dem Punkt da raus, würde ich das ORDER BY Zeit (Zeit isn Timestamp) weglassen funktioniert direkt alles wunderbar nur dann löscht das Ding mir qreuz & quer irgendwo was :D

WO isn der Fehler dadrin, so simpel?


Jan Krüger
24.07.2002, 12:17
"order by" in delete queries wird erst ab mysql 4.0 unterstützt. überprüf mal deine version.

bigben
27.07.2002, 14:37
Hi,

ich frage mich im Moment welche Vorteile "Order By" im Gegensatz zu einer "Where"-Klausel beim DELETE hat? Ich wußte garnicht das das überhaupt geht...

Gruß,

Oliver

Jonas
29.07.2002, 22:33
äh, was genau meinst du?

das statement oben mit einem where wäre ja wahrscheinlich etwas umständlicher...

bigben
30.07.2002, 09:54
Hi,

bin einfach nur etwas verwirrt, weil ich nicht wußte das das geht (Delete mit ORDER BY und LIMIT). Deshalb wolllte ich nur wissen ob das weitere Vorteile hat außer das es vielleicht einfacher zu codieren und etwas übersichtlicher ist.

Thanx,
Oliver

Jonas
30.07.2002, 23:08
wie würdest du das statement ohne ORDER BY sondern mit WHERE denn schreiben?
WHERE MAX(Zeit) LIMIT 0,5
funktioniert das?

Steup
04.08.2002, 03:12
also ich weiss jetzt nicht ob des so geht wie ich des meine weil ich mit mysql noch nicht all zu viel gemacht habe, aber wie wäre es wenn man es so macht

mysql_query("DELETE * FROM box ORDER BY Zeit LIMIT $del") or die("bla");

weil der soll ja ALLE löschen die der zeit geordnet sind mit dem limit bla

Jonas
04.08.2002, 14:23
Das * bei nem DELETE braucht's net, MySQL geht automatisch davon aus, daß du die komplette Zeile meinst, wenn du nix angibst...

Würde eigentlich ein z.B. "DELETE name FROM members" funktionieren? Also ich meine daß MySQL allen Inhalt aus dieser Spalte name löscht...