Einzelnen Beitrag anzeigen

DaCoda

Registriert seit: 21. Jul 2006
Ort: Hamburg
199 Beiträge
 
Delphi 12 Athens
 
#11

AW: MariaDB: Event bei neuem Datensatz

  Alt 5. Sep 2025, 07:42
Ja das machst du in etwa so:

Die zusätzliche Log-Table:
Code:
CREATE TABLE table_log (
  id INT AUTO_INCREMENT PRIMARY KEY,
  aktion VARCHAR(10),          -- z. B. 'INSERT', 'UPDATE', 'DELETE'
  zeitpunkt DATETIME DEFAULT NOW()
);
Die TRIGGER:
Code:
-- INSERT Trigger
CREATE TRIGGER table_insert AFTER INSERT ON kunden
FOR EACH ROW
BEGIN
  INSERT INTO table_log (aktion, zeitpunkt) VALUES ('INSERT', NOW());
END;

-- UPDATE Trigger
CREATE TRIGGER table_update AFTER UPDATE ON kunden
FOR EACH ROW
BEGIN
  INSERT INTO lable_log (aktion, zeitpunkt) VALUES ('UPDATE', NOW());
END;

-- DELETE Trigger
CREATE TRIGGER kunden_delete AFTER DELETE ON kunden
FOR EACH ROW
BEGIN
  INSERT INTO table_log (aktion, zeitpunkt) VALUES ('DELETE', NOW());
END;
Abfrage der Einträge in Delphi:
Code:
FDQuery.SQL.Text := 'SELECT * FROM table_log ORDER BY zeitpunkt DESC';
FDQuery.Open;
Und entfernen der Einträge in Delphi:
Code:
FDQuery.SQL.Text := 'DELETE FROM table_log';
FDQuery.ExecSQL;
Das musst du entsprechend deiner Anforderung etwas anpassen, aber grundsätzlich ginge das so.
Debuggers don’t remove bugs, they only show them in slow-motion.
  Mit Zitat antworten Zitat