8791 sujets

Développement web côté serveur, CMS

Hello, j'essaie de convertir mon ancien forum sur une nouvelle plate forme. Mais j'ai beaucoup, beaucoup d'entrées et donc j'aimerais automatiser le tout avec des requêtes dans phpmyadmin.

Un mec sur un forum proposait ceci, et d'après les réponses ça avait l'air de marcher.
INSERT INTO new_table(date_field) SELECT DATEADD(s, timestamp_field, '19700101') FROM old_table


En l'adaptant à mes besoins, j'en suis arrivé à ceci


UPDATE `fluxbb_topics_test` new LEFT JOIN `fluxbb_topics_test` old ON new.topic_id = old.topic_id SET new.topic_time ="DATE_ADD( s, old.last_post, '19700101' )"


fluxbb_topics_test est la table sur laquelle je travaille
topic_time est le nouveau champs, en datetime
last_post est l'ancien champs, en timestamp.

Mais ça ne marche pas : la requête passe sans erreur, mais il me retourne :

a écrit :
Nombre d'enregistrements affectés : 0 (Traitement en 0.0163 sec.)


J'ai aussi essayé ceci mais ça fait la même chose

UPDATE fluxbb_topics_test SET topic_time="SELECT DATE_FORMAT( FROM_UNIXTIME( last_post ) , '%y/%m/%d %h:%i%p' )"

UPDATE fluxbb_topics_test SET `topic_time`="SELECT FROM_UNIXTIME(`last_post`)"

UPDATE `fluxbb_topics_test` new LEFT JOIN `fluxbb_topics_test` old ON new.topic_id = old.topic_id SET new.topic_time ="DATE_FORMAT( FROM_UNIXTIME( old.last_post ) , '%y/%m/%d %h:%i%p' )"


Pourriez vous m'aider ?

Merci !
Modifié par gordie (04 Aug 2009 - 15:37)
trouvé !!!

UPDATE `fluxbb_topics_test` SET topic_time = DATE_FORMAT( FROM_UNIXTIME(last_post) , '%y-%m-%d %H:%i:%S' ) WHERE last_post IS NOT NULL

Modifié par gordie (04 Aug 2009 - 15:44)