Modifier champs base mysql

Résolu/Fermé
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 21 août 2022 à 11:18
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 21 août 2022 à 16:19

Bonjour,

Je cherche à modifier les enregistrements d'une colonne d'une base de donnée.

Les enregistrements sont composés de 2 à 5 chiffres. Je voudrais y rajouter 000 à chaque enregistrement de la colonne.

J'ai tenté plusieurs façons, dont :

UPDATE malfoi SET num_indiv = REPLACE (num_indiv,"%","%000") where num_indiv like "%"

Mais cela ne modifie aucun enregistrement, sans message d'erreur.

Merci

A voir également:

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
21 août 2022 à 11:33

Bonjour,

Si ton champ ne contient que des nombres ( ce qui semble être le cas), tu as certainement du déclarer ta colonne en INT ou DECIMAL ou FLOAT ..  bref.. un champ de type numérique. ( et c'est bien ce qu'il faut faire)

Toi, tu veux "formater" le champ en ajoutant des "0" superflus devant .....  et .. ben...  ça .. tu peux le faire lors de l'affichage via ton programme. Aucun intéret de stocker la donnée dans ce format dans la base.. (d'ailleurs tu ne pourrais pas... à moins de changer ton champ en "varchar" .. mais ça serait une grosse ânerie.. )

Ne confonds pas la base de données qui sert juste à stocker les données ( sans aucun "format" .. ) .. et ton programme externe ( en php par exemple) qui te sert à exploiter ces données.


0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
21 août 2022 à 11:53

Merci jordane45.

Mon champ est bien en DECIMAL. Les "0", je souhaite les ajouter derrière.

26 devient 26000

2547 devient 2547000 ............

Tout ça parce que j'ai d'autres tables sur le même format, et après la fusion des tables, je ne veux pas avoir de num_indiv identique

0
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
21 août 2022 à 12:42

bonjour,

as-tu envisagé la multiplication?

0
jee pee Messages postés 39582 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 avril 2024 9 224
21 août 2022 à 12:43

salut, donc il suffit de multiplier par 1000

SET num_indiv = num_indiv * 1000
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11 > jee pee Messages postés 39582 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 avril 2024
21 août 2022 à 16:08

Si je fais 

UPDATE malfoi SET num_indiv = 'num_indiv * 1000'

tous les num_indiv se mettent à 0 !!!!???

0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11 > jee pee Messages postés 39582 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 avril 2024
21 août 2022 à 16:19

J'ai trouvé

UPDATE malfoi SET num_indiv = num_indiv * 1000

Merciiiii

0
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
21 août 2022 à 14:21

Ne serait-ce pas plus propre d'ajouter 100.000 à chaque nombre?

26 deviendrait 100.026
2547 deviendrait 102.547

0