Page 1 sur 1

Update & Doublon

Posté : 12 oct. 2009, 13:23
par Nathalie06
Bonjour,

Je vous presente rapidement mon probleme.

J'ai 1 table avec 2 champs (Id - email)
Le champ email est unique donc pas de doublon sur ce champ

exemple :
12 [email protected]
15 [email protected]
18 [email protected]


Je veux maintenant mettre à jour le champ email, c'est à dire remplacer toute les adresses chez

caramail.com par aol.com
Dans mon cas l'enregistrement N°12 doit passer à [email protected]

Mais voila que des doublons vont alors apparaître (12 et 18 seraient alors identique)
Je dois alors supprimer l'un des deux enregistrements. Peut importe lequel.

J'ai tenté la requête suivante mais me renvoie une erreur pour chaque doublon
UPDATE matable SET mail = REPLACE(email,'caramail.com','aol.com')
Comment modifier la requête afin d'eliminer les doublons lors de l'update ??


Cordialement,
Nathalie06

Re: Update & Doublon

Posté : 12 oct. 2009, 15:39
par @rthur
Bonjour,

Moi je lèverai la contrainte d'unicité, puis j'appliquerai le remplacement et ensuite je recherchai les doublons pour corriger/supprimer ceux-ci.
Bien sûr à la fin du traitement, il faut remettre la contrainte d'unicité :)

Re: Update & Doublon

Posté : 12 oct. 2009, 16:30
par Nathalie06
OK @rthur, merci pour ta proposition.

Si qqun d'autre à mieux qu'il n'hésite pas

@++ Nathalie

Re: Update & Doublon

Posté : 12 oct. 2009, 17:22
par Patriboom
Si tu fais ton remplacement comme tu le dis, il y aura des changements impossibles, comme tu le dis aussi. Ces changements impossibles, sont simplement les doublons. Tu n'as alors qu'à éliminer tout ce qui s'appelle [email protected], qui restent après avoir appliqué ton opération.

Ton opération aurait fait les changements nécessaires, ce qui reste n'est que doublon et peut être éliminé.

Re: Update & Doublon

Posté : 12 oct. 2009, 19:14
par AB
Pour que la technique indiquée par Patriboom puisse fonctionner il faudra spécifier le mot clef "IGNORE" dans ta requête d'update, sinon l'update s'arrêtera au premier doublon rencontré.

Note : Pour suivre ton exemple Patriboom aurait dû dire "Tu n'as alors qu'à éliminer tout ce qui s'appelle xyz@caramail.com". Je précise au cas où cette petite erreur t'aurait fait perdre l'intérêt de son message.

Re: Update & Doublon

Posté : 13 oct. 2009, 12:18
par Nathalie06
Re... Bonjour,

J'ai fait la mise à jour entre temps.

Je prends note de vos remarques.
La prochaine fois je tente avec update ignore ...... , et suppression des doublons.
L'idée me semble pas mal du tout.

Merci
Nathalie