Aide pour fusionner deux tables

Aide pour fusionner deux tables - SQL/NoSQL - Programmation

Marsh Posté le 18-10-2019 à 16:57:32    

bonjour,
 
je viens ici car j'ai un problème, et j'espere que vous allez pouvoir m'aider
je n'ai pas vraiment de connaissance dans l'informatique, et encore moins en sql... je sais ca ne va pas aider !!
 
Donc mon probleme :
 
Je possede un forum, avec comme table de données :
wp_wpforo_posts = les messages
wp_wpforo_topics = les topics
wp_wpforo_forum = les catégories sur le forum
 
Il y a quelques jours, j'ai effacé une catégorie entière, supprimant plusieurs milliers de messages et centaines de topics... J'ai réussi a récupérer une sauvegarde la base mysql juste avant que j'efface.
Je souhaite donc intégrer cette sauvegarde à la base actuelle...  
 
j'ai essayé d'exporter les tables et importer dans la table actuelle, sauf que j'ai une erreur qui me dit que la table existe deja...
J'ai la solution de remettre en place la base mysql d'il y a quelques jours, mais je perds un bon millier de messages (entre l'erreur et aujourd'hui)
 
comment je peux faire ?  
sachant que mes bases sont :
 
base1 = base en place actuellement
base2 = sauvegarde de la base avant erreur
 
que pour les tables, les messages effacés étaient dans la table forum sous "forumid = 49" et qu'en voulant copier / coller la catégorie effacée, le 49 a été remplacé par 95.
 
merci bcp !!


Message édité par mondesensuel le 18-10-2019 à 16:59:37
Reply

Marsh Posté le 18-10-2019 à 16:57:32   

Reply

Marsh Posté le 18-10-2019 à 17:22:42    

Ça ne vas pas être simple car tes ids ancien vont être en conflit avec les nouveaux ids qui ont été crée dans l'intervalle, ça à l'air d’être un wordpress (les préfixes de table ^^) et pourtant je ne reconnais pas les noms de table donc sans doute un plugin...
 
Soit tu passes par "un pro qui s'y connait" pour faire une moulinette qui corriges les ids (idéalement en prenant en compte les dates de création).
Sinon tu peux bricoler un truc avec des exports (monté dans Excel, peut être que tu sera plus à l'aise pour faire les modifs) et après tu réimportes dans la base de donnée...
 
Dans tous les cas il faudrait couper le site le temps de l'intervention (ou au moins empêcher les les nouveaux write, le mettre en lecture seul quoi ^^) et le sauvegarder.


---------------
D3
Reply

Marsh Posté le 19-10-2019 à 11:20:48    

Dans ton ancienne BD (celle du backup), pour les 3 tables, tu regardes le dernier ID et tu le notes.
Dans la nouvelle BD, pour chaque table, tu exportes en CSV les enregistres ayant un ID supérieur au dernier ID de l'ancienne BD.
Tu supprimes les 3 tables actuelles du forum et tu importes les 3 anciennes.
Dans Excel, tu ouvres chacun des 3 CSV et tu décales tous les ID par rapport au dernier ID des 3 anciennes tables. Là, ça va être un peu compliqué car il faut décaler les ID des clés primaires et des clés étrangères. Ensuite, tu importes le contenu des CSV dans les tables.
Avant de faire la manip, tu sauvegarde les 3 tables existantes et tu désactives le forum le temps de la manip.
 
C'est clair que si tu sais coder, une moulinette sera plus simple et efficace. :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 19-10-2019 à 15:13:51    

merci pour vos réponses, je vais regarder ce que je peux faire ^^

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed