Bonjour,
Voici mon problème. J'ai une table 'table' qui représente un arbre de données, avec donc comme champs 'id' et 'parent_id'. Comme je suis amené à importer des données depuis une autre base, j'ai adopté le protocole suivant : j'importe litéralement la structure d'arbre de l'autre base en renomant les champs 'id' et 'parent_id' en 'id_old' et 'parent_id_old'. Un fois que tout est importé et que mes éléments importés se sont vu attribuer un nouvel 'id', je fais le branchement :
Cette requète marche parfaitement quand le branchement ne se fait pas sur la même table car il n'y a pas confusion des noms. Mais dans ce cas précis, je ne sais pas comment faire comprendre sur qui porte quoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 UPDATE `table` SET `parent_id` = ( SELECT `table`.id FROM `table` WHERE `table`.id_old=`parent_id_old` LIMIT 1 ) WHERE `parent_id` IS NULL ;
Pouvez-vous m'aider ?
Merci d'avance !
Partager