ç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'."
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 ?
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
[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.
Tutoriel complet MySQL !
Tutoriel complet MySQL !