- Регистрация
- 22.10.2020
- Сообщения
- 35
- Благодарностей
- 5
- Баллы
- 8
Доброго времени суток!
Столкнулся с проблемой, связанной с обработкой данных в базе. Мой шаблон берет первую строку из базы данных и удаляет её. Затем другой блок возвращает строку в конец базы. В результате этого возникают тысячи дубликатов строк.
Подскажите, пожалуйста, как создать адекватную очередь для обработки данных?
Я пробовал следующий код:
Однако некоторые устройства остаются в очереди навсегда.
Столкнулся с проблемой, связанной с обработкой данных в базе. Мой шаблон берет первую строку из базы данных и удаляет её. Затем другой блок возвращает строку в конец базы. В результате этого возникают тысячи дубликатов строк.
Подскажите, пожалуйста, как создать адекватную очередь для обработки данных?
Я пробовал следующий код:
SQL:
LOCK TABLES proxy_by WRITE;
START TRANSACTION;
CREATE TEMPORARY TABLE temp_proxy AS
SELECT id, proxy FROM proxy_by LIMIT 1;
DELETE FROM proxy_by
WHERE id = (SELECT id FROM temp_proxy LIMIT 1);
COMMIT;
SELECT proxy FROM temp_proxy;
DROP TEMPORARY TABLE temp_proxy;
UNLOCK TABLES;