sql >> Databáze >  >> RDS >> Mysql

Jaké jsou způsoby, jak přesunout data starší než 'Y' dnů do tabulky archivu/historie v 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. Jak mohu vybrat sloupce podle jejich číselné pozice v tabulce?

  2. Odstraňte duplicitní záznamy bez vytvoření dočasné tabulky

  3. PHP:Použití proměnné k uložení názvu tabulky a použití této proměnné v dotazech

  4. Vypnutí a spuštění instance Oracle