Перемещение строк из таблицы A в таблицу-архив

Можно ли автоматически перемещать строки, возраст которых составляет 3 дня, в другую таблицу под названием «Table_Archive» в таблицах mysql в неделю?

tableA ex:

ID | stringvalue | Timestamp
1  | abc         | 2011-10-01
2  | abc2        | 2011-10-02
3  | abc3        | 2011-10-05
4  | abc4        | 2011-10-10
5  | abc5        | 2011-10-11

После перемещения

tableA:

ID | stringvalue | Timestamp
4  | abc4        | 2011-10-10
5  | abc5        | 2011-10-11

Table_Archive:

ID | stringvalue | Timestamp
1  | abc         | 2011-10-01
2  | abc2        | 2011-10-02
3  | abc3        | 2011-10-05

И когда новый ввод поступает в tableA, не будет никаких проблем с ID (PK) на следующем ходу?

Что у меня:

CREATE PROCEDURE clean_tables ()
BEGIN
    BEGIN TRANSACTION;

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

    INSERT
    INTO    Table_Archive
    SELECT  *
    FROM    TableA
    WHERE   timestamp < _now - 3;
    FOR UPDATE;

    DELETE
    FROM    TableA
    WHERE   timestamp < _now - 3;

    COMMIT;
END

Как мне изменить _now на дату 3 дня назад?

5
задан Linqan 11 October 2011 в 10:54
поделиться