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