如何解决FOREIGN KEY 约束失败,SQLite
我对数据库和 sqlite 还很陌生。我有一个提供给我的数据库,供 ASP.NET MVC Web 应用程序使用。我必须对专辑、曲目、艺术家和媒体类型实施 CRUD 操作。大多数功能已经实现并正常工作,但是,在为 tracks 表 实现删除操作时,我注意到一个错误,'[19:46:57] 从表轨道删除行时出错: FOREIGN KEY 约束失败'。
有人可以帮助我理解为什么我不能在不违反外键约束的情况下从 'tracks' 表中删除一行,以及它违反了哪个约束。
非常感谢任何帮助!
这是 ERD Diagram、Tracks Table Structure、Tracks Table Constraints 和 Sample Data 的屏幕截图。
解决方法
我认为您的问题是 track 被 invoice_item 引用,也就是说您可能有 TrackID 的外键定义invoice_items 表的列引用 Tracks 表的 TrackId 列。
突出显示:-
关于评论
所有外键都有'ON UPDATE NO ACTION ON DELETE NO ACTION'
NO ACTION 是默认值,即在发生冲突时您不采取任何操作,因此冲突保持原样,从而导致错误。也许根据 https://sqlite.org/foreignkeys.html#fk_actions
考虑其他操作版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。