Come per compensare le date in un database MySQL di 1 secondo?
-
09-09-2019 - |
Domanda
ho importato un sacco di posti in un sito Wordpress che tutti hanno la stessa data esatta. Mi piacerebbe modificare le date di pubblicare in modo che siano compensati da un secondo.
La mia preoccupazione è che ci può essere un problema di prestazioni quando tutte le date sono gli stessi.
Qualcuno sa modo rapido per ottenere questo fatto utilizzando phpMyAdmin per modificare il database MySQL o qualche altro metodo?
Soluzione
È possibile impostare tutti loro di essere 'la società' + id.
Potrebbe sembrare;
UPDATE wp_posts
SET createdDate = DATE_ADD(now(), INTERVAL wp_posts.wp_id SECOND);
Altri suggerimenti
Prima di pasticciare con questo, vi suggerisco di fare in modo che in realtà hanno un problema con tempi simultanei.
I abbastanza spesso che pasticciano con i dati come questo ha conseguenze non volute. E sarei moderatamente sorpreso se il problema è davvero significativo.
Mi sembra che sto vedendo proposte che impostare tutte le righe per lo stesso valore di offset.
Supponendo di avere una chiave surrogata intero, e le file sono adiacenti, è possibile utilizzare
UPDATE tabella
SET MyDate = DATE_ADD (my_date, INTERVALLO id - SECONDA)
WHERE id TRA E;
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);
O in una singola query, se il tuo non può mantenere lo stato di sessione:
UPDATE mytable,
(
SELECT @r := '2009-04-14'
) q
SET mydate = (@r := @r + INTERVAL 1 SECOND)