Bonjour à tous,
Je migre un forum d'une plateforme à une autre (Connectix Boards vers PhpBB3) et je suis à la phase import des sujets.
Cependant en développant mon script qui va piocher d'un côté pour insérer de l'autre, je me suis rendu compte que pas mal de sujets ont 0 messages, du coup je voudrais les supprimer dans la table `cb_topics` avant de faire tourner mon script.
Y'a + de 50.000 sujets dans cette table mais seuls 47.000 d'entre eux ont des messages.
Du coup je tente ça :
Mais mysql n'a pas aimé
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT topic_id from cb_topics WHERE topic_id NOT IN (SELECT msg_topicid AS topic_id FROM cb_messages GROUP BY msg_topicid HAVING COUNT( msg_id ) >0) LIMIT 0,10
La sous-requête passe au poil par contre (c'est là que j'obtiens 47000 résultats par rapport aux 50000 topics existants).
Donc d'un côté une table `cb_messages` qui comporte msg_id et msg_topicid (l'id du topic auquel le message appartient) et de l'autre une table `cb_topics`qui comporte topic_id
Je veux trouver, puis éliminer les topics dont l'id n'est référencé dans aucun enregistrement de la table messages.
Des conseils pour le faire proprement et en douceur, je vais me faire gronder si je continue à faire tomber mysql
Merci
Partager