remplacer en masse une valeur [MySQL 4.1] - SQL/NoSQL - Programmation
Marsh Posté le 21-02-2006 à 23:40:17
J ai aucune idée de la BDD utilisée, mais tu devrais essayer quelquechose comme:
UPDATE `ibf_posts`
SET `post`=strreplace(`post`,CONVERT( _utf8 'forumv2'
USING latin1 ), CONVERT( _utf8 'forum'
USING latin1 ))
WHERE `post` LIKE CONVERT( _utf8 '%forumv2%'
USING latin1 )
COLLATE latin1_swedish_ci
LIMIT 0 , 1;
La plupart de BDD ont une fonction de remplacement de motifs, essaye strreplace ou stringreplace? Vérifie tout de même la syntaxe dans la doc., et vérifie que seuls les champs désirés sont changés.
Marsh Posté le 22-02-2006 à 00:02:04
merci, il me dit que la syntax n'est pas bonne (c'est du MySQL 4.1), ce qu'il me dit :
'(`post`,CONVERT( _utf8 'forumv2'
USING latin1 ), CONVERT( _utf8 'forum'
USIN' at line 2
j'ai essayé avec "stringreplace", il me fait pareil
Marsh Posté le 22-02-2006 à 00:39:34
Code :
|
Plus d infos:
http://dev.mysql.com/doc/refman/4. [...] tions.html
Marsh Posté le 22-02-2006 à 05:35:19
ok j'ai lu donc je fait
SELECT REPLACE ('%forumv2%', 'forumv2', 'forum')
FROM 'ibf_posts'
WHERE 'post' LIKE ('%forumv2%')
Ca semble correcte ? (j'ose pas essayer peur de tout péter )
EDIT : bon ca marche pas mais je sens qu'ya un truc qui colle pas, bon je cherche
EDIT 2 : ok j'ai trouvé ça donne ça :
SELECT REPLACE (
`post` ,
'forumv2',
'forum'
)
FROM `ibf_posts`
LIMIT 0 ,
30
Maintenant je dois faire un UPDATE pour que ça fonctionne.
Marsh Posté le 21-02-2006 à 21:40:42
Hello,
J'ai un petit souci avec mon forum IPB, voila j'ai upgradé et le lien des émoticons à changé, l'ancien path était /forumv2/ et maintenant le path est /forum/
Pour les anciens liens émoticons dans les messages je peux les retrouver dans la base avec cette recherche :
SELECT `post`
FROM `ibf_posts`
WHERE `post` LIKE CONVERT( _utf8 '%forumv2%'
USING latin1 )
COLLATE latin1_swedish_ci
LIMIT 0 , 30
Mais comment modifier la requete pour que %forumv2% devienne %forum% ? Je suis pas formé à SQL.
Merci du coup de main !
Message édité par Calamarpowaaah le 22-02-2006 à 05:29:41