Mysql
 sql >> Baza danych >  >> RDS >> Mysql

loguj aktualizacje mysql

Możesz użyć wyzwalacza i zapisać zmiany w innej tabeli.

Od czubka głowy (poniższe zakłada, że ​​productId nigdy nie zostanie zaktualizowany);

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. Replikowanie GROUP_CONCAT dla pandas.DataFrame

  2. Określ następną liczbę w zapytaniu do bazy danych za pomocą pętli while w php

  3. Jak mogę włączyć ścisły sql_mode w MySQL?

  4. Jak używać zapytania łączącego dla 4 tabel w szynach?

  5. Błąd:przekroczenie limitu czasu nieaktywności uzgadniania w Node.js v6.9.1 i MySQL