j'ai 3 tables:Supprimer enregistrement de la table multiple avec des clés étrangères dans SQL Server
- post
- Comme
- Commentaire
Relation entre les tables sont:
- Tableau du tableau: postid PK
- Comme le tableau: LikeID PK, postID FK, CommentID FK
- table Commentaire: CommentID PK, PostID FK, CommentReplybyID FK (Auto rejoindre sur CommentID)
Maintenant, je dois supprimer le message de la table de poste, mais je Je reçois une erreur.
J'utilise cette requête ci-dessous:
begin tran
declare @userid int = 68;
declare @postid int = 15;
delete from likes
where postid = @postid and userid = @userid
delete from comments
where postid = @postid and userid = @userid
delete from post
where postid = @postid and userid = @userid
rollback tran
Je reçois ces erreurs:
Msg 547, niveau 16, état 0, ligne 8
L'instruction DELETE en conflit avec la même table REFERENCE contrainte "Comments_fk3". Le conflit s'est produit dans la base de données "development-topthat", la table "dbo.Comments", la colonne "CommentReplyID". Msg 547, niveau 16, état 0, ligne 9
L'instruction DELETE était en conflit avec la contrainte REFERENCE "Likes_fk1" Le conflit s'est produit dans la base de données "development-topthat", la table "dbo.Likes", la colonne "PostID".
J'ai besoin d'aide lorsque je fais mal. Comment y parvenir?
Vous avez des contraintes de clé étrangère que vous avez à traiter. – ivan7707
oui je sais, mais comment? –