Спасибо, буду иметь в виду. А что, если пометить флагом сообщения на перенос в историю, далее смотреть на этот флаг?
UPDATE `messages` SET `to_history` = 1 WHERE `time` <= ?;
INSERT INTO `messages_history` SELECT * FROM `messages` WHERE `to_history` = 1;
DELETE FROM message WHERE `to_history` = 1;
Исходил из того, что в статье речь о MySQL.
При следующем выполнении скопирует. Можно использовать
INSERT IGNORE
на всякийАналогично, удалит в дугой раз
Согласен
Спасибо, буду иметь в виду. А что, если пометить флагом сообщения на перенос в историю, далее смотреть на этот флаг?
UPDATE `messages` SET `to_history` = 1 WHERE `time` <= ?; INSERT INTO `messages_history` SELECT * FROM `messages` WHERE `to_history` = 1; DELETE FROM message WHERE `to_history` = 1;
Берём id последнего сообщения на удаление (если они по порядку), далее:
DELETE FROM messages WHERE id <= ?;