[sql-server]requette insert into et les clés
tix116
Messages postés
19
Statut
Membre
-
tix116 Messages postés 19 Statut Membre -
tix116 Messages postés 19 Statut Membre -
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'."
oO!
ç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'."
oO!
2 réponses
-
bonjour,
je sais pas si c'est moi mais tu fais un insert de 3 colonnes alors que ta base fais que 2 colonnes !
j'aurai mis aussi un auto_increment a ton id ville , comme sa ton insert ce passe comme cela :
INSERT INTO ville VALUES ('','marseillle') ;
-
non, la table contient 3 colonnes.
pr le reste, c'est juste des détails que je réglerai après. merci ^^