Utiliser PhpMyadmin

WRInaute occasionnel
Bonjour à tous !

J'utilise cette commande dans phpMyadmin pour afficher la valeur du champ tralala

Code:
SELECT *
FROM `catalogue`
WHERE `tralala` LIKE CONVERT( _utf8 '%POUETPOUET%'
USING latin1 )
COLLATE latin1_swedish_ci
LIMIT 0 , 30

Question à 1 euro comment faire avec phpMyadmin pour modifier la valeur POUETPOUET de tous les champs tralala.
J'ai essayé avec un replace mais ça ne semble pas fonctionner (et j'ai pas envi de tout planter... :mrgreen:

Merci
 
WRInaute occasionnel
Code:
UPDATE catalogue
SET ton_champ = valeur_de_remplacement
WHERE ton_champ = 'POUETPOUET'
LIMIT 0 , 5

Est-ce que je ne modifie dans ce cas que les 5 premiers champs ?
 
Nouveau WRInaute
UPADTE ne gère pas les offset ( = le zéro de ta requête), autrement dit, il te faut simplement faire:

Code:
UPDATE catalogue
SET ton_champ = valeur_de_remplacement
WHERE ton_champ = 'POUETPOUET'
LIMIT  5

Ça te changera la valeur des 5 premiers enregistrements trouvés. Après, tu peux trier pour choisir les 5 premiers enregistrements :

Code:
UPDATE catalogue
SET ton_champ = valeur_de_remplacement
WHERE ton_champ = 'POUETPOUET'
ORDER BY un_champ ASC
LIMIT  5
 
WRInaute occasionnel
Autre question : peut-on faire des calculs avec phpMyadmin ?
Par exemple je sélectionne tous les articles d'une même rubrique et je leur applique un % de remise... c'est possible ou pas ?

Merci
 
WRInaute occasionnel
Bon je continue et je butte sur ce problème :

=> remplacer la valeur /405/ par la valeur /33/ dans le champ categorie.
Actuellement voici ce que je fais :

Code:
   1. UPDATE `testme`.`catalogue` SET `categorie` = ',/33/,'
   2. WHERE CONVERT( `categorie` USING utf8 ) LIKE '%,/405/,%' LIMIT 5

Le problème est que si dans le champ categorie il y a deux valeurs ou plus (par exemple /405/, /406/..) tout est remplacé par /33/

J'ai essayé

Code:
UPDATE `testme`.`catalogue` SET `categorie` =  REPLACE(categorie,',/405/,',',/33/,') LIMIT 5

Mais rien ne se passe => Nombre d'enregistrements affectés : 0 (traitement: 0.0004 sec.)

Quelqu'un a-t-il une idée ?
Merci
 
Nouveau WRInaute
Ta dernière requête est bonne, mais replace ne trouve pas
Code:
 ',/405/,'
. Tu es sûr que tu n'as pas échappé les slashs ou quelque chose comme ça
 
WRInaute occasionnel
-amethyste- a dit:
Ta dernière requête est bonne, mais replace ne trouve pas
Code:
 ',/405/,'
. Tu es sûr que tu n'as pas échappé les slashs ou quelque chose comme ça

Que veux tu dire ?

J'ai également essayé avec ',%/405/%,' mais rien
 
Nouveau WRInaute
Est-ce que la chaîne
Code:
,/405/,
est bien présente sous cette forme dans ta colonne ? (cf jeux de caractères, échappement des slashs,..)


Est-ce que cette requête te retourne des résultats :
Code:
SELECT REPLACE (categorie, ',/405/,', ',/33/,') FROM catalogue
?
 
WRInaute occasionnel
Pour répondre à ta question oui et non :mrgreen:

Pour une seule valeur j'ai bien ,/405/, mais parfois aussi /405/, alors je ne sais pas pourquoi

-amethyste- a dit:
Est-ce que cette requête te retourne des résultats :
Code:
SELECT REPLACE (categorie, ',/405/,', ',/33/,') FROM catalogue
Si j'utilise
Code:
SELECT REPLACE( categorie, ',/405/,', ',/33/,' )
FROM `testme`.`catalogue`
LIMIT 1

Ca donne :
Affichage des enregistrements 0 - 0 (1 total, traitement: 0.0002 sec.)
et en bas j'ai
REPLACE (categorie, ',/405/,', ',/33/,')
,/143/,/15/,


Mais ça ne semble rien modifier...
 
Discussions similaires
Haut