Partage
  • Partager sur Facebook
  • Partager sur Twitter

[sql-server]requette insert into et les clés étrangeres

Sujet résolu
    18 mars 2011 à 12:43:45

    Bonjour,

    ça fait quelques jours que je débute avec MS sql-server2008. et je commence à avoir des problemes. En effet, j'essaye d'implementer un exemple simple dont voici le MCD:

    [ville]---0,1---(est capitale de)----1,1----[pays]
    [ville]---1,1---(fait partie de)------1,n----[pays]
    -un pays a une seule capitale et une ville est soit une capitale soit non.
    -un pays a plusieurs villes, une ville appartient a un seul pays.
    avec:
    ville(IDv,nomVille)
    pays(IDp,nomPays)
    en passant au relationel on aura:
    ville(IDv,nomVille,#IDp)
    pays(IDp,nomPays,#IDv)

    j'ai créé la petite bdd sous sql, j'ai mis les relations entre les tables. Mais quand j'essaye de "remplir" les tables avec la requette suivante:

    INSERT INTO ville
    VALUES (13,'marseillle',15)
    

    il m'affiche le message d'erreur suivant:
    "Msg 547, Niveau 16, État 0, Ligne 1
    The INSERT statement conflicted with the FOREIGN KEY constraint "FK_ville_pays". The conflict occurred in database "poire", table "dbo.pays", column 'idP'."
    • Partager sur Facebook
    • Partager sur Twitter
      18 mars 2011 à 14:23:38

      Ben t'as bien un pays avec une IDp qui vaut 15 ???
      • Partager sur Facebook
      • Partager sur Twitter
        18 mars 2011 à 18:07:08

        la base de données est vide.
        • Partager sur Facebook
        • Partager sur Twitter
          18 mars 2011 à 18:26:10

          Ben alors forcément... Tu sais ce que c'est une clé étrangère ??
          • Partager sur Facebook
          • Partager sur Twitter
            18 mars 2011 à 21:27:35

            lol, bne question! oui, "normalement" j'ai compris mon cours de bdd !
            • Partager sur Facebook
            • Partager sur Twitter
              18 mars 2011 à 21:43:17

              Soit ton cours est mal foutu, soit tu ne l'as pas compris. La ligne doit exister dans la table référencée, trouverais-tu logique d'avoir une capitale avant même d'avoir un pays ?
              • Partager sur Facebook
              • Partager sur Twitter
                19 mars 2011 à 9:27:02

                oui je sais que c illogique. maintenant j'ai opté pr une autre solution; c'est de rajouter une colonne "estCapitale" a la table Ville.

                merci ^^
                • Partager sur Facebook
                • Partager sur Twitter

                [sql-server]requette insert into et les clés étrangeres

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown