![]() |
Re: Was ist an diesem (Sub)query falsch?
Hallo,
zeig doch noch mal dein Delete mit Subquery. Es kann auch sein, dass mysql das noch nicht im delete kann. Subqueries sind ja auch erst mit der 4er(oder 4.er ?) Version eingeführt worden. Heiko |
Re: Was ist an diesem (Sub)query falsch?
Das query ist dieses hier:
Zitat:
|
Re: Was ist an diesem (Sub)query falsch?
Hallo,
kann so nicht gehen. Du benutzt die gleiche Tabelle und deren Feld Id zweimal. Da muss man dann Tabellen-Aliase benutzen. Das SubSelect könnte ja auch eine völlig andere Tabelle sein.
SQL-Code:
DELETE FROM gb_verificationid gb1
WHERE gb1.id < (SELECT MAX(gb2.id) - 20 FROM gb_verificationid gb2) Heiko |
Re: Was ist an diesem (Sub)query falsch?
das funktioniert leider auch nicht, da stimmt wohl die syntax nicht :( . "#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 'WHERE gb1.id < (SELECT MAX(gb2.id) - 20
FROM gb_verificationid gb2)' at line 2 " |
Re: Was ist an diesem (Sub)query falsch?
Hallo,
das gesuchte Statement in der Syntax von MySQL ab Version 4.0.2 sieht so aus:
SQL-Code:
Grüße vom marabu
DELETE FROM gb_verificationid t1
USING t1, gb_verificationid t2 WHERE t2.id < (SELECT MAX(id) - 20 FROM t2) |
Re: Was ist an diesem (Sub)query falsch?
dankeschön, aber das klappt leider auch nicht :(
Angeblich existiert <datenbankname>.1 nicht. Tut es aber... |
Re: Was ist an diesem (Sub)query falsch?
Zitat:
Beides sind völlig getrennte Namensräume und dabei gilt: lokal geht immer vor global. Also die Aussage kann so nicht gehen kann nicht stimmen. Das Problem scheint ein anderes zu sein. @NamenLozer: Kannst du nicht mal MySQL5 benutzen? Oder ist das ein Webserver an dem du die Version nicht verändern kannst? Edit: Habe das gerade selber mal mit MySQL5 ausprobiert. Das scheint wirklich nicht zu gehen. Das finde ich sehr schade. Man kann scheinbar die zu verändernde Tabelle nicht nochmal in einer SubQuery der gleichen Abfrage aufführen. Schade, ich fand MySQL mal richtig gut. Gruss Thorsten |
Re: Was ist an diesem (Sub)query falsch?
Hallo,
Zitat:
Meine Tests unter MySQL 4.0.5 hat das Statement erfolgreich absolviert. Freundliche Grüße |
Re: Was ist an diesem (Sub)query falsch?
Dann muss sich da wohl was geändert haben zwischen 4.0 und 4.1. Schade. Naja, dann werd ichs halt mit zwei Queries machen, funktioniert ja auch.
Trotzdem Danke an alle, die versucht haben, mir zu helfen! (wenn jemand trotzdem noch eine idee hat, wie's gehen könnte, darf er es natürlich gerne sagen ;) ) |
Re: Was ist an diesem (Sub)query falsch?
Hallo,
die Syntax DELETE USING wird ab MySQL Version 4.0.2 bis hin zur aktuellen Version unterstützt. Du musst langsam anfangen den Fehler bei deiner Umsetzung zu suchen - oder du verwendest deine Umgehungslösung. Gute Nacht |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz