Question

J'ai importé un tas de messages dans un site Wordpress que tous ont la même date exacte. Je voudrais modifier les dates de poste afin qu'ils soient compensés par une seconde.

Ma préoccupation est qu'il peut y avoir un problème de performance lorsque toutes les dates sont les mêmes.

Quelqu'un sait rapidement pour y parvenir en utilisant phpMyAdmin pour éditer la base de données MySQL ou une autre méthode?

Était-ce utile?

La solution

Vous pouvez les mettre tous à être 'maintenant' + id.

Il pourrait ressembler;

 UPDATE  wp_posts
 SET     createdDate = DATE_ADD(now(), INTERVAL wp_posts.wp_id SECOND);

Autres conseils

Avant de jouer avec cela, je vous suggère de vous assurer que, en fait, ont un problème avec des temps simultanés.

Je trouve assez souvent que de jouer avec les données comme cela a des conséquences inattendues. Et je serais modérément surpris si le problème est vraiment important.

Il me semble que je vois des propositions qui définiront toutes les lignes à la même valeur de décalage.

En supposant que vous avez une clé de substitution entier, et les lignes adjacentes, vous pouvez utiliser

  

Tableau MISE A JOUR
  SET mydate = DATE_ADD (my_date, id INTERVALLE - DEUXIÈME)
  OÙ id ENTRE ET;

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);

Ou dans une seule requête, si votre ne peut pas garder l'état de session:

UPDATE  mytable,
        (
        SELECT  @r := '2009-04-14'
        ) q
SET     mydate  = (@r := @r + INTERVAL 1 SECOND)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top