Здравствуйте, уважаемые форумчане.
Есть у меня php файл, который запускается кроном раз в сутки и в нем выполняется запрос, который копирует комментарии старше двух суток из чата в архив . Структура обеих таблиц полностью идентична. И что странно, иногда мне от крона приходит ошибка на почту
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1078458' for key 'PRIMARY'' in /var/www/user/data/www/site.ru/cron/chat.php:10
Stack trace:
#0 /var/www/user/data/www/site.ru/cron/chat.php(10): PDO->query('INSERT INTO `ur...')
#1 {main}
thrown in /var/www/user/data/www/site.ru/cron/chat.php on line 10
Сам запрос такой:
$sql->query("INSERT INTO `chatArhive` SELECT * FROM `comments` where news_id = '77278' and dateAdd < (NOW() - INTERVAL 2 DAY)");
Так вот, почему вообще такое может возникать и как с этим бороться?
Какой-то закономерности не наблюдается. Может месяц нормально копироваться, а потом ошибка, а может несколько раз за несколько недель ошибку выдать.
Что это за ошибка я знаю, но вот почему она появляется, не пойму, ведь все должно копироваться из одной таблицы в другую и дубликатов по идее быть не может.