Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

ghi nhật ký cập nhật mysql

Bạn có thể sử dụng trình kích hoạt và lưu trữ các thay đổi trong một bảng khác.

Từ đỉnh đầu của tôi (điều sau giả định rằng productId sẽ không bao giờ được cập nhật);

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. MySQL - Giữa các tháng (thay vì dấu thời gian)

  2. MySQL NOT IN truy vấn

  3. SQL:Làm thế nào để chọn tất cả các nút cha trong đường dẫn Vật liệu hóa?

  4. PHP / MYSQL Thêm nút vào cột

  5. Tạo tổng ROLLING trong một khoảng thời gian trong mysql