sql >> データベース >  >> RDS >> Mysql

別のアプリケーションからのMySQL挿入を監視する

    データベースに追加のテーブルとトリガーを作成することを気にせず、監視Javaアプリケーションがトリガーを具体的に受信するのではなく、データベースをポーリングする必要があると仮定すると、このようなことをかなり簡単に達成できると思います。

    監視したいテーブルが次のようになっていると仮定します:

    CREATE TABLE ToMonitor ( id INTEGER PRIMARY KEY, value TEXT );
    

    次に、変更を追跡するためのテーブルと、そのテーブルにデータを入力するトリガーを作成します。

    CREATE TABLE InsertedRecords( value TEXT );
    CREATE TRIGGER trig AFTER INSERT ON account
    FOR EACH ROW INSERT INTO InsertedRecords( value ) VALUES ( NEW.value );
    

    これにより、InsertedRecordsテーブルに、ToMonitorで発生するすべての挿入が入力されます。

    次に、定期的にSELECT * from InsertedRecordsを実行するように監視アプリを設定する必要があります。 、適切なアクションを実行してから、InsertedRecordsからレコードをクリアします

    編集:C / C ++コーディングを少し気にしない場合は、こちらの手順に従ってください 監視アプリケーションを実行に移すカスタムSQL関数を作成し、作成したトリガー内からそのSQL関数を呼び出すだけです。



    1. クリスマスが早く来る(Oracle 12.2)

    2. SQLAlchemy create_all()はテーブルを作成しません

    3. PostgreSQLに最適なアラートおよび通知ツール

    4. MySQLでN:Mの関係を持つテーブルを作成するにはどうすればよいですか?