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

Apa cara untuk memindahkan data yang lebih lama dari hari 'Y' ke tabel arsip/riwayat di MySQL?

CREATE PROCEDURE prc_clean_tables (Y INT, Z INT)
BEGIN
        BEGIN TRANSACTION;

        DECLARE _now DATETIME;
        SET _now := NOW();

        INSERT
        INTO    b
        SELECT  *
        FROM    a
        WHERE   timestamp < _now - INTERVAL Y DAY;
        FOR UPDATE;

        DELETE
        FROM    a
        WHERE   timestamp < _now - INTERVAL Y DAY;

        DELETE
        FROM    b
        WHERE   timestamp < _now - INTERVAL Z DAY;

        COMMIT;
END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghubungkan Aplikasi Heroku Lumen ke Amazon RDS MySQL 5.7.19

  2. Gabungkan tabel di salah satu dari 2 kolom di panda

  3. Pertandingan teks lengkap () terhadap () mengembalikan set kosong

  4. Perbarui semua nilai kolom menjadi huruf kecil

  5. Tabel MyISAM dan InnoDB dalam satu database