wie realisiere ich einen Pufferspeicher in MySQL?

mysqlnoob

Benutzer
Beiträge
5
Hallo.
Ich kenn mich mit DBs nicht wirklich gut aus, darum meine Frage: Wie kann ich es realisieren das ich in meiner DB max 50 Zeilen habe, und danach die erste Zeile überschrieben wird, der Index aber immer weiterläuft?
Danke im Voraus
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.579
Meinst du mit Index einen Zähler für die ID der immer weiter läuft oder den Tabellen Index? Letzteres wird durch die DB verwaltet und sollte sich dem Inhalt anpassen, ersteres könnte man auf unterschiedliche Weise realisieren.

Ein Trigger könnte verhindern, das zu einem beliebigen Zeitpunkt mehr als 50 Zeilen in einer Tabelle stehen. Allerdings gibt es grade im Bereich Trigger einige Unterscheide zwischen MSSQL und MySQL. Ich glaube bei MySQL kann man es per BEFORE Trigger machen, ich hab aber noch nie einen auf MySQL Basis geschrieben.

Aber wozu das ganze eigentlich?
 

mysqlnoob

Benutzer
Beiträge
5
Mit Index meine ich einen Integer-Wert den ich AUTO-INCREMENTIERE.
Ich will von einer SPS Daten für ein Diagramm in die DB schreiben und will aber z.B.: nur max. 50 Werte drinnen haben da ich die Werte alle 2 Sekunden rauf schreibe und die DB sonst irgendwann "übergeht".
Meine DB habe ich in MySQL.
 

mysqlnoob

Benutzer
Beiträge
5
Wenn ich genau das in bei phpMyAdmin reinschreiben kommt :
#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 'BEGIN
DELETE
FROM Variablen
WHERE [' at line 5
 

ukulele

Datenbank-Guru
Beiträge
4.579
Code:
CREATE TRIGGER asdf BEFORE INSERT ON tabelle

FOR EACH ROW BEGIN

WHILE ( SELECT count(*) FROM tabelle ) >= 50 DO
DELETE FROM tabelle WHERE [index] = ( SELECT min([index]) FROM tabelle )
END WHILE

END;
 
Werbung:
Oben