я пытаюсь
- получить последнюю дату в базе данных и
- на основе этой даты обновите каждую запись с датой
NULL
, увеличив дату на 1 день.
Я могу получить последнюю дату, используя приведенный ниже запрос Последняя дата. Мне нужно сделать это в первую очередь, потому что даты в таблице неправильные. Если нужно, я могу запустить этот запрос, записать его вручную, а затем выполнить запрос UPDATE
на основе этой даты. Я бы предпочел запустить все без ручного процесса.
Последний запрос, который у меня есть в нижней части вопроса, — это мой тестовый запрос для попытки обновить даты, однако мне не удалось заставить его работать.
Таблица (даты указаны не по порядку)
id date
----- ----------
10500 2013-08-18
10501 2013-08-16
10502 2013-08-17
10503 2013-08-19
10504 NULL
10505 NULL
...
11800 NULL
11801 NULL
Выбор последней даты (отправной точки для UPDATE
)
SELECT date
FROM my_table
ORDER BY date DESC
LIMIT 1
Обновление NULL
дат (не работает)
UPDATE my_table
SET date = DATE_ADD((SELECT date FROM my_table ORDER BY date DESC LIMIT 1), INTERVAL 1 DAY)
WHERE date IS NULL
ORDER BY id ASC
Как я могу это сделать? Или это невозможно?