IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Éviter les doublons dans une table


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 78
    Points : 41
    Points
    41
    Par défaut Éviter les doublons dans une table
    Bonjour,

    J'ai un petit problème, j'espère trouver de l'aide ici.

    J'ai deux bases, chacune sur un serveur. Ces deux bases sont identiques, mais il m'en faut 2 pour avoir de la redondance.
    J'ai créé un trigger qui permet, à chaque nouvelle ligne de ces tables, d'ajouter une ligne sur une table distante. Sauf que si je mets en marche les triggers sur mes deux tables, celui-ci va ajouter les mêmes lignes en doubles sur ma table distante.

    Comment pourrais-je faire pour ne pas avoir de doublons sur ma table distante ?? Créer un autre trigger sur cette table distante en comparant si la ligne qu'on m'envoie n'existe pas déjà ??

    merci de votre aide

  2. #2
    Membre habitué Avatar de Razorflak
    Homme Profil pro
    Développeur Flex/AS3
    Inscrit en
    Juin 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Flex/AS3
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 97
    Points : 192
    Points
    192
    Par défaut
    Bonjour,
    Peut être mette une clé primaire dans ta table distante suffirais à résoudre ton problème?

    Cordialement.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    Bonjour razorflak,

    C'est à dire ? Mettre en clé primaire l'ensemble de tous mes attributs que j'envoie de la table A vers la Table C distante ? J'ai déjà un id auto-incrémenté comme clé primaire dans cette table C ..

  4. #4
    Membre habitué Avatar de Razorflak
    Homme Profil pro
    Développeur Flex/AS3
    Inscrit en
    Juin 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Flex/AS3
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 97
    Points : 192
    Points
    192
    Par défaut
    Dans ce cas la une contrainte d'unicité.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    Ok merci, je vais voir pour la contrainte d'unicité

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 821
    Points
    30 821
    Par défaut
    Citation Envoyé par ifr38 Voir le message
    J'ai déjà un id auto-incrémenté comme clé primaire dans cette table C ..
    C'est une clé primaire technique. Ce qu'il te faut, c'est une clé primaire fonctionnelle, identifiée par une contrainte d'unicité.

    Edit : grilled
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    Bonjour al1,

    J'ai mis un couple d'attributs comme étant unique tout en gardant mon id comme clé primaire bien sûr, désolé pour l'amalgame.
    Je fais les tests pour voir si j'obtiens bien les résultats attendus

  8. #8
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Quel est votre SGBD ? Ne propose-t-il pas des fonctionnalités de synchronisation ?

    est-ce que vos deux bases sont actives ?

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    bonjour aieeeuuuuuu,

    Je suis sous mySQL. J'ai créé une contrainte d'unicité (couple de mes attributs) et plutôt que de faire un je fais un pour ne pas insérer la ligne si elle est déjà présente.

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Points : 74
    Points
    74
    Par défaut
    Je ne sais pas trop mais généralement pour éviter les doublons, il faut faire des requêtes SQL avec des conditions qui testent que l'identifiant (par exemple SELECT utilisateurs.nom, utilisateurs.prenom FROM utilisateurs, cuisine WHERE utilisateurs.id_utilisateur=cuisine.id_utilisateur.

    Dans ton cas, peut-être faut-il faire un test PHP : si la donnée se trouve déjà dans la table alors il ne fait pas l'insertion. Dans le cas contraire, si la donnée n'est pas dans la table alors il faut faire la requête SQL INSERT INTO.

    De plus, tu peux utiliser l'opérateur DISTINCT qui permet de sélectionner les valeurs distinctes.

Discussions similaires

  1. supprimer les doublons dans une table
    Par mavean dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/06/2019, 13h26
  2. Réponses: 10
    Dernier message: 23/11/2009, 22h49
  3. problème pour éviter les doublons dans une table
    Par bonnet85 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 19/02/2008, 04h35
  4. Comment éviter les doublons dans ma table
    Par einegel dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/11/2004, 12h18
  5. Éviter les doublons dans une requete
    Par royrremi dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 03/08/2004, 19h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo