SQL Anzahl der Datensätze begrenzen? - Seite 2

Seite 2 von 3 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/sql_anzahl_der_datensaetze_begrenzen_212344/page_2 - zur Vollversion wechseln!


Obermotz schrieb am 04.12.2009 um 09:59

wenn count(*) >= 100 lösche ersten datensatz (select .. order by id asc limit 1)
insert...


COLOSSUS schrieb am 04.12.2009 um 10:06

…und schon hamma die Racecondition! :D


Obermotz schrieb am 04.12.2009 um 10:08

Für seine Anforderungen sollte es reichen ;)
Verpackt ers halt in eine transaction..


JDK schrieb am 08.12.2009 um 18:38

Wenn schon 100 Einträge vorhanden sind, den ältesten löschen und den neuen einfügen. (wie Obermotz schon erwähnt hat)


semteX schrieb am 08.12.2009 um 19:22

einen trigger auf "after insert" geben und du musst dich aktiv nie wieder um etwas kümmern...


Timmää schrieb am 09.12.2009 um 12:44

Herzlichsten Dank für die Vorschläge.
Unser aktueller Lösungsansatz ist wie semtex gesagt hat ein Trigger after insert und dann soll er den ersten löschen, allerdings arbeiten wir gerade daran diesen zu identifizieren, da wir keinen schlüssl ham.

edit: zugreifen können wir jetzt aber diese blöde Verzweigung will nicht funktionieren.

lg, timmää


semteX schrieb am 10.12.2009 um 19:37

naja, identifikation ist "einfach".... ein timestamp dazu, welches default wert "datum.now" hat (die genaue sql syntax müsst ich jetzt nachschaun)

und ja, trigger können durchaus "gefinkelt" sein :D


fatmike182 schrieb am 11.12.2009 um 18:08

now() & über mysql?


UncleFucka schrieb am 15.12.2009 um 21:08

also ich würde ums zu identifizieren mit einer sequence die von 1-100 geht einfügen als schlüssel, dann kannst du immer beim trigger den datensatz mit der aktuellen ID überschreiben. ist weniger arbeit für die DB und für dich (im vergleich zu daten sortieren oder maxen oder whatever)


fatmike182 schrieb am 16.12.2009 um 12:05

musst ja auch erst abfragen obs die Nummer schon gibt.
Da wär die Methode: letztes löschen, neues eintragen glaub ich praktischer


Triple-X schrieb am 16.12.2009 um 19:37

Mit mysql kannst du das aber mit einem REPLACE INTO machen, da spart dir dann das vorher abfragen bzw. das löschen des Datensatzes.


kleinerChemiker schrieb am 16.12.2009 um 19:55

REPLACE löscht aber auch den datensatz und erstellt einen neuen. da wäre dann update noch geschickter. aber man müßte dafür danna auch speichern, bei welcher nummer man gerade ist.


that schrieb am 16.12.2009 um 22:08

Für 100 Datensätze würde ich mir den Aufwand mit einer Datenbank überhaupt nicht antun und das Ganze in einem Textfile speichern. Bei jedem Update neu schreiben. Im Speicher ein Array halten. Fertig.


Nico schrieb am 16.12.2009 um 22:15

falls man auf dem server via php dateien schreiben/manipulieren darf.


COLOSSUS schrieb am 16.12.2009 um 22:20

Zitat von Nico
falls man auf dem server via php dateien schreiben/manipulieren darf.

Wenn nicht, darf man ja immer noch eine bessere Sprache verwenden! :)




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025