Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Was ist an diesem (Sub)query falsch? (https://www.delphipraxis.net/92108-ist-diesem-sub-query-falsch.html)

Namenloser 16. Mai 2007 15:53

Re: Was ist an diesem (Sub)query falsch?
 
Hallo marabu,
Zitat:

Zitat von marabu
Du musst langsam anfangen den Fehler bei deiner Umsetzung zu suchen - oder du verwendest deine Umgehungslösung.

Daran kann es eigentlich nicht liegen, da ich die statements im phpmyadmin getestet habe.

stifflersmom 16. Mai 2007 16:48

Re: Was ist an diesem (Sub)query falsch?
 
benutz doch einfach das mysql-Gimick: limit


Also:

SQL-Code:
select * from gb_verificationid
order by id desc limit 20
Moin

marabu 16. Mai 2007 17:44

Re: Was ist an diesem (Sub)query falsch?
 
Hallo,

das sieht für mich so aus, als ob du die "letzten" 20 gespeicherten Datensätze selektieren möchtest. Ich hatte das Problem bisher so verstanden, dass alle Datensätze bis auf diese (ungefähr) 20 gelöscht werden sollen.

Getestet hatte ich übrigens mit dem MySQL Query Browser. Vielleicht verhindert phpmyadmin die erfolgreiche Verarbeitung des Statements?

Freundliche Grüße

Namenloser 16. Mai 2007 17:59

Re: Was ist an diesem (Sub)query falsch?
 
Hi,
Zitat:

Zitat von marabu
Ich hatte das Problem bisher so verstanden, dass alle Datensätze bis auf diese (ungefähr) 20 gelöscht werden sollen.

Dann hast du es auch richtig verstanden ;)
Ich habe auf meiner Seite ein Gästebuch. Bei jedem Gästebuchbesuch wird zum Schutz vor Spam eine VID (=verificationid) generiert, der eine bestimmtes Frage-Antwortpaar zugeordnet ist. Damit die Datenbank aber nicht so zugemüllt wird, sollen maximal 20 datensätze darin enthalten sein. (Bei Bedarf kann man das ja noch auf 100 ausweiten...)

@stifflersmom: Funktioniert das denn auch bei Delete? Wenn ja, wär das genau das, was ich brauche!
edit: achnee, warte mal, das würde ja genau die datensätze löschen, die ich NICHT löschen will...

stifflersmom 16. Mai 2007 19:46

Re: Was ist an diesem (Sub)query falsch?
 
Ok, wenn Du löschen willst, dann mach es so

SQL-Code:
select @lid := LAST_INSERT_ID(id) from gb_verificationid order by id desc limit 1;
delete from gb_verificationid where id < @lid-20;
Befor Du löscht, solltest Du erst noch mal mit Select testen...

Moin

Namenloser 16. Mai 2007 20:13

Re: Was ist an diesem (Sub)query falsch?
 
JUHUU! :hello:
Es funktioniert :party:

Vielen Dank (auch an alle anderen!)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:48 Uhr.
Seite 3 von 3     123   

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