Modifier toutes les données d'une table MySql

Fermé
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 - Modifié par maxireussite le 7/12/2013 à 05:36
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 - 9 déc. 2013 à 18:19
Bonjour à tous,
j'ai une table client qui fonctionne, aujourd'hui je me rends compte qu'il me faut ajouter une colonne "region", ce qui est fait.

Mais cette table comporte aujourd'hui 300 entrées qui augmentent chaque jour, je souhaiterai un script qui en fonction du CP (2 premiers chiffres) me permet de rajouter la région de chaque client.

l'autre solution, à ma portée, était d'exporter en excel, insérer les régione et la replacer dans Mysql... cela bloque à l'importation, une histoire de primaru key qui serait en double, j'y comprends rien !

Mes recherches n'ayant pas abouti, je me tourne vers ce forum, qui m'a déjà tant aidé.
Merci d'avance.
A voir également:

7 réponses

mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
9 déc. 2013 à 17:55
Bonsoir,

Il y a une solution où vous n'avez besoin de rien faire du tout!

C'est pas top ça?

En fait, chaque région est un groupe de départements.

Donc, si vous avez le code postal de vos clients, le début du CP est le département.

Par exemple, pour isoler les alsaciens, il suffit de faire

SELECT * FROM clients WHERE LEFT(code_postal,2) IN ('67','68')

Pour l'Ile de France:

SELECT * FROM clients WHERE LEFT(code_postal,2) IN ('75','77','78','91','92','93','94','95')

A+
1
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 5
9 déc. 2013 à 18:19
C gentil, merci. Ma difficulté c d'avoir le script complet qui me permette de replacer les régions dans la nouvelle colonne région; car je n'arrive pas à importer une table client modifiée...
0
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
7 déc. 2013 à 09:02
Bonjour !
Pour ton Import, ça bloque parce que tu essaye d'inséré des données alors qu'elle existe déjà, (tu doit avoir un champ id en clé primaire).

Tu peut donc soit vider ta base avant l'import, soit, tu doit avoir une case à cocher pour le remplacement des données dans phpmyadmin (ça dépends peut-être des versions).

Sinon, tu a la solutions Php, tu récupère toute les données, un p(tit switch ou un tableau et tu update derrière.
0
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 5
Modifié par maxireussite le 7/12/2013 à 13:16
Bjr, merci.

vider la base ! Je n'ose pas car si ça bloque je ne saurai pas me dépatouiller alors que le site est en fonctionnement.

Tu penses que ça bloque parce qu'elle existe déjà ? Non, car j'ai renommée la table. Voilà le message d'erreur :

"#1062 - Duplicate entry '219' for key 'PRIMARY' "

J'ai bien vérifié il n'y a bien qu'une seule ligne avec 219... je ne vois pas d'où ça vient ...
0
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
7 déc. 2013 à 22:36
Le message indique bien une entré dupliqué, selon ton moteur de bdd tu a peut-être un problème avec des clés étrangères ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 5
8 déc. 2013 à 00:42
Bon, ben je vais laisser tomber cette méthode, car trop compliqué. En effet toutes les sécurités des hébergeurs ne me rendent pas la tâche facile.

Qqu'un pourrait-il svp me donner un script qui corresponde à ma demande initiale afin de mettre à jour ma table client ?

Merci.
0
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
8 déc. 2013 à 12:37
C'est pas une sécurité de l'hébergeur mais de la table, si tu a une clé primaire, elle doit être unique, c'est logique.

Sinon, tu peut passer par php, tu fais un select sur ta tables pour récupérer l'id et le code postal, tu fais un substr sur ce cp pour ne récupérer que les deux premiers chiffres.

Ensuite, tu te fais un tableau genre $region[35]="Ille-et-vilaine";

Tu pourra ensuite fais ton update.
0
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 5
8 déc. 2013 à 16:15
Je te remercie, je vais voir comment je peux me débrouiller.
0