Modifier toutes les données d'une table MySql
maxireussite
Messages postés
405
Statut
Membre
-
maxireussite Messages postés 405 Statut Membre -
maxireussite Messages postés 405 Statut Membre -
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.
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:
- Modifier toutes les données d'une table MySql
- Fuite données maif - Guide
- Modifier dns - Guide
- Table ascii - Guide
- Table des matières word - Guide
- Modifier liste déroulante excel - Guide
7 réponses
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+
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+
maxireussite
Messages postés
405
Statut
Membre
5
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...
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.
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.
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 ...
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 ...
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 ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
Qqu'un pourrait-il svp me donner un script qui corresponde à ma demande initiale afin de mettre à jour ma table client ?
Merci.
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.
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.