Aller au contenu

[SQL] Comment faire cet update ?


NiTrOuS

Messages recommandés

Bonjour,

j'ai besoin de faire un update d'un champ mais je ne sais pas comment m'y prendre pour le faire en une requete si possible.

Voilà en fait je fais un exploreur windows mais sur un site web.

Donc j'ai une table Folder et une table Document

Ces deux tables contiennent un champ Path qui est le chemin.

Exemple: Root*Mes Documents*Photos

Un fichier photo1.JPG aura le path Root*Mes documents*Photos

Si je change le nom de mon répertoire Mes documents en Docs par exemple, hé bien tous mes paths sont morts :( (logique)

Comment faire pour les mettre à jour en meme temps que la mise a jour du nom du dossier ?

J'ai bien pensé à faire un LIKE 'Root*Mes documents%' mais avec ca je retrouve juste les bons fichiers, mais ca ne les mets pas a jour ?

Comment remplacer le Root*Mes documents en Root*Docs avec SQL ???

Merci

Lien vers le commentaire
Partager sur d’autres sites

J'aurais une autre solution, mais elle t'imposerait un assez grand changement (réfléchis-y quand même):

Pourquoi, au lieu de mettre le path en dur pour chaque fichier, tu ne mettrais pas un identifiant vers le répertoire qui contient ledit fichier? Et pour les répertoires, tu fais pareil: un identifiant vers le répertoire parent

Ainsi, en modifiant UNE SEULE FOIS le nom d'un répertoire (mais sans changer pour autant son identifiant), tous tes liens verraient automatiquement leur path modifier..

bref, tu aurais un truc dans ce genre (je reprends ton exemple):

Root->1

Mes Documents ->2

Photos->3

[/quote:table Document]

Fichier1.jpg ->2

Si tu renommes "Mes Documents" en "Mes Docs", ca ne change pas pour autant son identifiant (2 en l'occurrence) et ca ne change donc rien dans la table 'Document'... Le Fichier1.jpg est donc toujours considéré comme étant dans le répertoire identifié par 2

Lien vers le commentaire
Partager sur d’autres sites

lol tu te compliques la vie...

Une seule table suffit, chaque élément conserve seulement l'id du noeud parent.

Vois ça comme un arbre ;)

Une arborescence c'est un arbre :fumer:

Au passage, je pense pas que ce soit une bonne idée de mettre ça dans une bdd...

t'as vraiment envie de te prendre la tête :yes:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...