Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour à tous !
J'ai une table, avec des doublons.
Je voudrais pouvoir effacer les valeurs qui sont en double, c'est à dire pas seulement enlever celui qui est en trop, mais faire disparaitre la deuxième occurrence mais aussi la première.
Et j'avoue que je ne sais pas trop comment m'y prendre.
J'ai bien pensé à lister toute celles qui sont en doubles, et ensuite à faire un delete where.....
MAIS je ne sais pas que placer vers le where, puisque j'aurais une liste :s
merci pour votre aide !
Hors ligne
Il te faut faire un DELETE avec le where qui convient pour chaque critère si tu veux être sûr de ne pas te planter.
Sinon tu peux utiliser une logique booléenne en utilisant des OR entre les critères.
Hors ligne
Je n'y arrive pas
Voici mon code si quelqu'un a une idée :
merci
Hors ligne
Je fais une deuxième tentative d'un autre type :
Mais là ça ne me prend aucune valeur :s
hors j'ai des doublons je le sais
Hors ligne
Coucou,
Pour ton cas avec le vidage, c'est normal que tu n'ais pas d'erreur si ton champs "ville" n'est pas en "UNIQUE" dans sql.
Ensuite, il faut qu'effectivement, tu fasses un listing de tes "ville" avec un Count(ville) > 1
Et dans la boucle (comme si tu voulais les afficher), tu mets une requête DELETE plutot qu'un echo $date['var'].
L'explication est concise, mais vu que tu as l'air de savoir de quoi tu parles.... [demande des précisions si tu comprends pas]
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
Saluton,
A lire, http://sqlpro.developpez.com/cours/doublons/, impérativement.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Je l'avais lu mais je galerais quand même, je m'y suis replongé, inspiré et voici avec quoi je m'en sors :
$query = mysql_query($strsql, $conn_db);
while ($data = mysql_fetch_assoc($query))
{echo 'Donnee <Br>';}
Après un long chargement (peut être dû au fait que j'ai 38 000 entrées) j'obtiens :
Warning: mysql_query() [function.mysql-query]: Unable to save result set in /...... on line 19
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /..... on line 20
je ne trouve pas beaucoup d'infos sur la première erreur :s vous avez une idée ?
PS : le boucle je fais une petit echo pour voir si ça fonctionne avant de s'attaquer au delete ^^
Dernière modification par Capi (31-05-2010 14:24:06)
Hors ligne
Si ça peut aider, j'ai rajouté un petit or die après le $query et j'obtiens :
Warning: mysql_query() [function.mysql-query]: Unable to save result set in /..... on line 19
Query execution was interrupted
Hors ligne
1. Distinct * .... avec ce que l'on sait sur la guerre des étoiles
2. from villesfr T1 ??? c'est quoi le T1, il est lié comment à villesfr ?
3. while (.....) {echo 'Donnee <br>';} il va te renvoyé n ligne marqué "Donnee" (n étant le nombre de résultat de ton select)
Je te conseille donc de mettre un echo $data['villesfr'];
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
La table villefr étant mise en jointure avec elle-même il faut lui donner deux alias T1 et T2.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Pages :: 1