Я пытаюсь добавить 1 час для каждого значения после определенной даты ...
У меня есть такая таблица:
Colonne Type
id int(11)
date datetime
value double
kind varchar(190)
data_id int(11) NULL
У меня есть уникальные ограничения по дате. 'Добрый' . 'Data_id'
Я пытаюсь:
update data set `date` = ADDTIME(`date`, '01:00:00') WHERE `date` > '2019-03-31 02:00:00';
Но я получаю сообщение об ошибке
Повторяющаяся запись '2019-03-31 04: 05: 00-ManualDataValue-1' для ключа 'UNIQ_DATE_KIND_DATA_ID
Я понимаю ошибку, значение существует, но мне нужно "переместить" все данные ...
Таким образом, если запрос выполняется в одном блоке и в конце проверяются уникальные ограничения, технически ошибки нет ...
Как это сделать?
(PS: SELECT * FROM data
WHERE date
> '2019-03-31 02:00:00' возвращает 1 198 778 записей, поэтому я не могу сделать это вручную: /)