|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 183 ![]() |
Bonjour à tous,
Je suis coincé et j'ai beau regarder, il me semble que mon script est bon mais manifestement pas... J'ai une erreur mysql_fetch_assoc... Je vous explique. J'ai une table1 dans une bdd1 qui est en vrac. Je veux enlever les doublons et la copier, champ par champ, dans une table2 de la bdd2. Mon script : Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Développeur informatique Inscription : avril 2011 Messages : 196 ![]() |
Dans ton code a la ligne 49
les variable $bdd1 et $tabl ne sont pas definit, en tous cas pas dans la partie de code que tu a mis ici. Tu nous dit pas ou exactement l'erreur se produit. Fait des essais de ta requette SQL dans PHPMyAdmin par exemple. Je pense que tu pourra faire le meme boulot juste avec des requettes SQL imbriquées. |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 183 ![]() |
Merci de votre réponse.
Oups! j'ai oublié de dire 2 choses : les bdd sont définies en début de scriopt dans un fichier conf.php La bdd1, sur le script s'appelle en fait bdd et la bdd2, bdd1. Je les ai appelées bdd1 et bdd2 sur le message pour une meilleure compréhension. J'aurais dû changer aussi le script. Mes excuses, vous avez raison. Je vais le refaire. |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Développeur informatique Inscription : avril 2011 Messages : 196 ![]() |
Quelle est la difference entre Id et Code???
Dans ton commentaire tu dit tri de la table mais tu fait un group by dans ta requette SQL?? |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 183 ![]() |
Oui, et c'est peut-être là que ça coince.
En fait je voudrais que toute ma base soit la même 'à l'exclusion' des doublons. J'ai donc essayé SELECT DISTINCT `ville` FROM mais il ne me donne que les ville, bien sûr. Je veux qu'il me trie toute la base, sur la ville pour les doublons, mais qu'il me donne la rangée complête. Cad : id, code, departement, ville, lat, long, zipCode. L'id n'est pas indispensable puisqu'auto-incrément et dans la nouvelle base il se creera au fur et à me sure. |
|
|
00
|
|
|
#6 | ||||
|
Membre confirmé
![]() Développeur informatique Inscription : avril 2011 Messages : 196 ![]() |
Sinon tu pourrai faire comme cela pour eliminer les doublons et les inserer dans une nouvelle table
Code :
Code :
Code :
ALTER IGNORE TABLE ancienne_table ADD UNIQUE INDEX(ville); |
||||
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 183 ![]() |
Ca a l'air de fonctionner. Je ne peux pas contrôler tout de suite mais j'ai perdu environ 10% de mes enregistrements ce qui me parait raisonnable.
En effet, chaque ville est notée en fonction de son code postal et de nombreuses (très nombreuses) villes ont plusieurs codes pour le même nom... Mais alors, je suis épaté par mon ignorance. Comment se fait-il que le GROUP BY suffise sans passer par un DISTINCT ? En 2 lignes, vous avez réglé un script de 40... C'est pas mal. Merci encore. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com