sql >> Database >  >> RDS >> Mysql

log mysql-updates in

Je zou een trigger kunnen gebruiken en de wijzigingen in een andere tabel kunnen opslaan.

Uit mijn hoofd (het volgende gaat ervan uit dat productId nooit zal worden bijgewerkt);

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. Hoe voortschrijdend gemiddelde in roodverschuiving te berekenen

  2. mysql ontsnapt aan enkele en dubbele aanhalingstekens

  3. Kan geen verbinding maken met PostgreSQL met PHP pg_connect()

  4. Verkrijg het verschil tussen twee datums, zowel in maanden als dagen in sql