我有一个包含研究参与者联系信息的数据库:homePhone,altPhone和email。
我们通过保留日志表来检查数据库中的参与者。每次参与者都被批量检入,我通过我编写的Java应用程序运行它,如果需要,也可以更新/删除联系信息。
当参与者的3条联系信息中有0条时,将它们保存在数据库中是没用的。而不是在我的Java程序中实现检查,有没有办法让数据库(在MySQL上运行)自动执行此操作?我试图在UPDATE创建一个检查3列的触发器,但我在网上读到你不能改变与触发器相关联的表?
我知道我可以跑:
DELETE FROM participants WHERE homePhone=0 AND altPhone=0 AND email=''
但我希望数据库自动执行此操作。我不是一个数据库大师,所以如果有人有任何洞察力会很棒。最糟糕的情况是在我的Java程序结束时实现上面的SQL行。
答案 0 :(得分:1)
您可以将该查询放在每个INSERT INTO或UPDATE语句中调用的trigger上。
答案 1 :(得分:0)
如果你正在使用MySQL 5.1.6+,你可以使用MySql事件调度程序。