У меня есть mysql - таблица, представляющая ордера, которые синхронизируются с моей базой данных сложным syn c -процессом из остальные API - из-за ошибки, у меня есть дубликаты, и я не достаточно знаком с mysql, чтобы исправить это должным образом - и я хотел бы избежать "php -way", который я мог бы сделать сам.
Дублирующая запись в моей таблице имеет указанный столбец c с тот же идентификатор заказа - и другой столбец с именем «record_state», который представляет состояние записи (1 = самая новая запись, 2 = старая запись). Я знаю, как найти дубликаты с помощью следующего оператора:
SELECT
orderid,
COUNT(orderid)
FROM
orders
WHERE `time_get` > 1584226800 AND `system` = 'live' and `record_state` = 1 and `hidden` = 0 AND `deleted` = 0
GROUP BY orderid
HAVING COUNT(orderid) > 1
Что мне нужно сделать сейчас, это обновить любой старый дубликат этих результатов (например, count (orderid) = 2). У меня есть столбец времени, который я мог бы использовать для их сравнения. Основная цель для меня - иметь только самые новые заказы с record_state = 1, более старые дубликаты получат record_state = 2. Я буду рад любой помощи - это живая производственная таблица моей компании, поэтому я абсолютно не должен испортить это. Заранее спасибо, Оливер