我有一个包含12,000个条目的mysql数据库,我想要设置的是能够监视数据库中的列,如果/当列被更改为任何条目时,它会向我发送一封包含详细信息的电子邮件。
编辑:我可以访问mysql db,但不能访问与它一起使用的脚本。所以它应该监视它的变化......答案 0 :(得分:4)
如果您的MySQL版本有这些触发器,您可以在表上创建一些触发器。然后触发器可以调用您要创建的任何函数。触发器的优点是任何插入或删除或更新列都会导致它触发;您不必更改任何其他代码来实现它。请点击此处了解更多信息...... http://dev.mysql.com/doc/refman/5.0/en/triggers.html
答案 1 :(得分:2)
---如果您可以从触发器发送电子邮件,则不需要单独的表和cron ---
答案 2 :(得分:0)
尝试与this类似的内容,如果查询中包含insert
和TABLE_NAME或COLUMN_NAME
答案 3 :(得分:0)
将一列设置为日期时间戳。
这将在行的每次更改时更新。在那里你可以通过cron作业运行一个sql查询,或者在每几次php查询之后运行sql查询,以返回自上次检查后更改的行列表。
Select * from tbl_myentries where EntryUpdated > '$TimeSinceLastCheck'
答案 4 :(得分:0)
您需要了解数据操作语言(DML)触发器 在我的SQL中:使用
CREATE TRIGGER salary_trigger
BEFORE UPDATE ON table_name
REFERENCING NEW ROW AS n, OLD ROW AS o
FOR EACH ROW
IF n.columnName <> o.columnname THEN
END IF;
;
答案 5 :(得分:0)
为列上的更改创建触发器,然后将其作为日志表插入另一个表。
在您的桌面上运行cron job,它会向您发送电子邮件。