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

そのクエリを、各INSERTINTOまたはUPDATEステートメントで呼び出されるトリガーに置くことができます。

于 2012-05-25T21:40:43.107 に答える
0

MySQL 5.1.6以降を使用している場合は、MySqlEventSchedulerを使用できます。

イベントスケジューラの使用

于 2012-05-25T21:53:13.993 に答える