Как сметить даты в базе данных MySQL на 1 секунду?
-
09-09-2019 - |
Вопрос
Я импортировал кучу сообщений в сайт WordPress, которые имеют одинаковую дату. Я хотел бы отредактировать даты поста, чтобы они были компенсированы на одну секунду.
Я обеспокоен тем, что может возникнуть проблема с производительностью, когда все даты одинаковы.
Кто -нибудь знает быстрый способ сделать это, используя PhpMyAdmin для редактирования базы данных MySQL или какого -либо другого метода?
Решение
Вы можете настроить их все, чтобы быть «сейчас» + ID.
Это может выглядеть;
UPDATE wp_posts
SET createdDate = DATE_ADD(now(), INTERVAL wp_posts.wp_id SECOND);
Другие советы
Прежде чем вы связываетесь с этим, я предлагаю вам убедиться, что на самом деле возникают проблемы с одновременным раз.
Я довольно часто нахожу, что в том, что в этом случае есть данные, имеет непреднамеренные последствия. И я был бы умеренно удивлен, если проблема действительно значительна.
Мне кажется, что я вижу предложения, которые установит все строки на одно и то же значение смещения.
Предполагая, что у вас есть целочисленный суррогатный ключ, а ряды прилегают, вы можете использовать
Обновление таблицы
Установить myDate = date_add (my_date, идентификатор интервала - второй)
Где удостоверение личности между и;
UPDATE table SET mydate = DATE_ADD(my_date, INTERVAL 1 SECOND);
SET @r := '2009-04-14';
UPDATE mytable
SET mydate = (@r := @r + INTERVAL 1 SECOND);
Или в одном запросе, если вы не можете сохранить состояние сеанса:
UPDATE mytable,
(
SELECT @r := '2009-04-14'
) q
SET mydate = (@r := @r + INTERVAL 1 SECOND)