Index du Forum » » Le coin des codeurs

Auteur

[MySql] Remplacement dans un champ "longtext" sur toute une table
mrotta
423      

  Posté : 31-10-2006 10:32

J'ai un doute sur la manière de faire.

Dans mon module wiki, je veux mettre en place une fonction permettant de changer le nom wiki d'une page. Ce nom est stocké à deux endroit, un champ indexé unique, facile, une bête requête SQL, 1 enregistrement modifié et le tour est joué.

Plus dur. Le contenu des pages est stocké dans un "longtext". Dans n'importe quel page peut figurer de 0 à N références à ma page renommée. La syntaxe du lien est :
((NomWiki Nom que je veux voir afficher)

Donc si je fais une recherche sur "((NomWikiVieux" et que je le remplace par "((NonWikiNouveau" et ce dans chaque page, c'est bon.

Mais il faut le faire pour toutes les pages du wiki. Et dans la table wiki est conservé l'historique des modifications, cela peut donc faire beaucoup de pages. Comment faire cela avec une requête SQL sans mettre une usine qui reprend tous les enregistrements qui contiennent "((NomWikiVieux" et les modifies 1 à 1... ??



Cet article provient de NPDS

http://www.npds.org/viewtopic.php?topic=21437&forum=5