gpt4 book ai didi

mysql - 删除带有外键约束的行

转载 作者:太空宇宙 更新时间:2023-11-03 11:51:51 24 4
gpt4 key购买 nike

我有一张教师表,其中有一列 FileId 对应于 Files 表中的一个文件。当他/她替换文件时,我希望能够删除旧文件。我不想删除 Instructor 条目,只是删除文件。当我编辑关系以便它允许在更新和删除时级联,然后我运行它下面的存储过程删除了 Instructor 条目,这不是预期的效果,如果您有任何建议,请告诉我。感谢您的帮助

   ALTER PROC [dbo].[Files_DeleteByInstructorFileId]
@Id int,
@FileId int = NULL

as
begin

/*

EXECUTE [dbo].[Files_DeleteByInstructorFileId] 162

*/

Update [dbo].[Instructors] SET

FileId = @FileId
WHERE @Id = Id

DELETE f FROM [dbo].[Files] f
JOIN [dbo].[Instructors] ins
ON ins.FileId = f.Id

WHERE ins.Id = @Id


END

最佳答案

请确保您的引用列(外键约束)在删除和更新时设置为 CASCADE。
喜欢

CONSTRAINT `job_status_ibfk_1` FOREIGN KEY (`jobseeker_id`)
REFERENCES `jobseeker` (`jobseeker_id`) ON DELETE CASCADE ON UPDATE CASCADE

关于mysql - 删除带有外键约束的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35111275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com