Saya dapat memberi Anda semacam algoritme untuk dikerjakan, sebagian besar pekerjaan dasar sudah selesai:
Ini bisa menjadi tabel audit Anda, harus menambahkan kolom stempel waktu sebagai tanggal modifikasi atau info lebih lanjut sesuai kebutuhan Anda:
CREATE TABLE audit (
old_data VARCHAR(100),
new_data VARCHAR(100),
tbl_name VARCHAR(100)
)
|
Ini dapat digunakan sebagai pemicu referensi; perhatikan bahwa akan ada pemicu terpisah untuk setiap tabel:
CREATE TRIGGER testtrigger BEFORE UPDATE ON <table_name>
FOR EACH ROW BEGIN
INSERT INTO audit(old_data, new_data, tbl_name) VALUES (OLD.first_name, NEW.first_name, "testtable");
END;
|
Anda dapat memiliki beberapa pernyataan sisipkan satu untuk setiap kolom. Jika Anda ingin memberi batasan untuk tidak memasukkan data yang tidak diubah, Anda dapat melakukan perubahan berikut pada pemicu:
IF(OLD.column_name <> NEW.column_name) THEN
--Your insert query here
ELSE
--NOOP
END IF;
Beri tahu jika informasi lebih lanjut diperlukan.