Le 13/02/2012 18:29, Bernard Ribot a écrit :
Le 13/02/2012 18:14, Bernard Ribot a écrit :
Le 11/02/2012 19:14, Lucien RUBEMPRE a écrit :
/Le 11/02/2012 08:50, Bernard Ribot a écrit :/
/Le 10/02/2012 23:09, Lucien RUBEMPRE a écrit :
/
//Le 10/02/2012 19:06, Bernard Ribot a écrit :/
/
//Ça marche aussi avec MySQL (je l'ai essayé aussi). Il n'y a pas besoin des guillemets : ALTER TABLE nom_table ADD CONSTRAINT nom_contrainte UNIQUE (ClairPays) /
/
/Effectivement ça fonctionne.
Mais c'est une méthode "pas-à-pas". En effet : la formule t'indique le premier doublon. Tu vas l'effacer dans la table. Puis tu remets la formule (en effet elle ne reste pas en mémoire dans la boîte de commande SQL) et tu obtiens le doublon suivant. tu retournes dans la table pour le supprimer, etc.
/
/Ça m'étonne quand tu dis qu'il faut "remettre la formule" (sic) après chaque détection de doublon. La contrainte a été ajoutée au schéma et ce, de façon permanente. Elle fait maintenant partie de la structure.

Je ferai quelques tests en rentrant de week-end :-)

Bernard

/
Ce n'est pas la peine Bernard : effectivement, on n’est pas obligé de ressaisir la formule à chaque fois. Par contre, il faut bien faire des aller-retour entre la boîte de dialogue SQL et la table, pour supprimer les doublons un à un.

Bonjour, me revoilà :-)

Au lieu d'essayer d'éliminer les doublons au fil de l'eau, ce serait peut-être moins pénible de les supprimer en bloc a posteriori.
Pour les retrouver, on peut par exemple utiliser ce genre de requête :
SELECT t_pays.IDPays, t_pays.ClairPays, COUNT(*) FROM t_pays GROUP BY t_pays.ClairPays HAVING COUNT(*) > 1;

Bernard


Si tu utilises cette 2ème méthode, il faudra supprimer la contrainte qui avait èté mise sur ClairPays (quelque chose comme : ALTER TABLE t_pays DROP CONSTRAINT nom_contrainte).

Bernard


Rectificatif :
c'est DROP KEY (et non DROP CONSTRAINT).

--

Bernard Ribot
LibreOffice.org 3.5.0rc3 / Windows 7 SP1
LibreOffice.org 3.3.4 / Windows XP SP3
--
------------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help

Répondre à