TS: MySQL - Counter erhöhen und auslesen

Beitrag lesen

Hallo und guten Tag,

wenn ich den Counter eines angeklickten Datensatzes weiterzähle, erfahre ich nicht dessen Stand:

UPDATE  termine
SET     counter = counter +1
WHERE   id = '4711'

Doch nun möchte ich bei jedem Tausender eine Aktion machen. Muss ich dafür wirklich 999 mal den Satz anschliessend vergeblich lesen?

wenn deine Aktion etwas Datenbankmäßiges ist, könntest du einen Trigger verwenden; ansonsten ja, es gibt meines Wissens nur für Autoincrement-Spalten eine entsprechende Funktion.

Fast richtig, aber leider nicht ganz :-)

Einen Select-Trigger gibt es in MySQL nicht. Den kann man sich aber basteln, wenn man das Select durch eine Stored Routine durchführen lässt. In dieser kann man Bedingungen prüfen, Aktionen durchführen und ein Ergebnis zurückliefern.

Und wenn man dann alle das normale Select auf die Tabelle unterbindet, weil man alle Select-Zugriffe geschickt über die Strored Routine ausführen lässt, kann man auch die totale Kontrolle auf die Datenbank legen, wenn man das Gleiche dann auch für Insert, Update, Delete baut.

Der direkte Zugriff auf die Tabellen kann dann vollständig unterbunden werden. So kann niemand mehr "machen was er will".

Sehr beliebt in Banken, Behörden, ...

Grüße
TS

--
es wachse der Freifunk
https://harz.freifunk.net