Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

log pembaruan mysql

Anda bisa menggunakan pemicu dan menyimpan perubahan di tabel lain.

Dari atas kepala saya (berikut ini mengasumsikan bahwa productId tidak akan pernah diperbarui);

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jatuhkan Waktu di DateTime

  2. MySQL | Anda tidak dapat menentukan tabel target 'a' untuk pembaruan dalam klausa FROM

  3. Pencarian langsung dengan PHP AJAX dan XML

  4. Menggunakan TIMESTAMP MySQL vs menyimpan stempel waktu secara langsung

  5. Bagaimana cara memilih kolom nilai statis?