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

mysqlの更新をログに記録する

    トリガーを使用して、変更を別のテーブルに保存できます。

    頭のてっぺんから(以下は、productIdが更新されないことを前提としています)。

    create table main (
        `id` int not null auto_increment,
        `title` varchar(30) not null,
        `price` float not null, 
        primary key(`id`)
    );
    
    create table logger (
        `id` int not null auto_increment,
        `productId` int not null,
        `from_title` varchar(30) not null,
        `to_title` varchar(30) not null,
        `from_price` float not null,
        `to_price` float not null,
        primary key(`id`)
    );
    
    delimiter //
    create trigger my_logger before update on main
    begin
        insert into
            logger
        set
            `productId`=OLD.`id`,
            `from_title`=OLD.`title`,
            `to_title`=NEW.`title`,
            `from_price`=OLD.`price`,
            `to_price`=NEW.`title`;
    end;//
    delimiter ;
    



    1. アイテムから追加されたデータベースエントリをボタンで削除できますか?

    2. LOADDATAINFILEが機能しない

    3. SQLServerでSELECTから更新する方法

    4. Oracle SQL WHERE句で(+)記号はどういう意味ですか?