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

MySQL-InnoDBテーブルのデータが変更されたかどうかを確認する最速の方法

    最も簡単な方法は、トリガーを使用して、タイプTIMESTAMPのnull許容列を追加することです: ON UPDATE CURRENT_TIMESTAMP

    したがって、列はnullを受け入れるため、挿入は変更されません。次のように入力すると、新しい列と変更された列のみを選択できます。

    SELECT * FROM `table` WHERE `mdate` > '2011-12-21 12:31:22'
    

    行を更新するたびに、この列は自動的に変更されます。

    その他の情報は次のとおりです。 http://dev.mysql.com /doc/refman/5.0/en/timestamp.html

    削除された行を表示するには、すべての削除を別のテーブルに記録するトリガーを作成するだけです。

    DELIMITER $$
    CREATE TRIGGER MyTable_Trigger
    AFTER DELETE ON MyTable
    FOR EACH ROW
    BEGIN
        INSERT INTO MyTable_Deleted VALUES(OLD.id, NOW());
    END$$
    


    1. あるテーブルのすべてのレコードと別のテーブルの一致するレコードを表示する

    2. JavaをMySQLデータベースに接続します

    3. MySQL8-特定のデータベースにあるすべてのストアドプロシージャを削除する

    4. DDLが同時に使用されている場合にmysqldumpとシングルトランザクションを使用して正しいダンプを取得するにはどうすればよいですか?