1

我有一个包含研究参与者联系信息的数据库:homePhone、altPhone 和电子邮件。

我们通过保存一个日志表来检查参与者进出数据库。每次批量签回参与者时,我都会通过我编写的 Java 应用程序运行它,如果需要,它还可以更新/删除联系信息。

当参与者的 3 条联系信息中有 0 条时,将它们保存在数据库中是没有用的。除了在我的 Java 程序中实现检查之外,有没有办法让数据库(在 MySQL 上运行)自动执行此操作?我试图创建一个触发器来检查 UPDATE 上的 3 列,但我在网上看到你不能改变触发器关联的表?

我知道我可以运行:

DELETE FROM participants WHERE homePhone=0 AND altPhone=0 AND email=''

但我希望数据库自动执行此操作。我不是数据库专家,所以如果有人有任何见解,那就太好了。最坏的情况是在我的 Java 程序结束时实现上面的 SQL 行。

4

2 回答 2

1

您可以将该查询放在在每个 INSERT INTO 或 UPDATE 语句中调用的触发器上。

于 2012-05-25T21:40:43.107 回答
0

如果您使用的是 MySQL 5.1.6+,则可以使用 MySql Event Scheduler。

使用事件调度器

于 2012-05-25T21:53:13.993 回答