微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

FOREIGN KEY 约束失败,SQLite

如何解决FOREIGN KEY 约束失败,SQLite

我对数据库sqlite 还很陌生。我有一个提供给我的数据库,供 ASP.NET MVC Web 应用程序使用。我必须对专辑、曲目、艺术家和媒体类型实施 CRUD 操作。大多数功能已经实现并正常工作,但是,在为 tracks 表 实现删除操作时,我注意到一个错误,'[19:46:57] 从表轨道删除行时出错: FOREIGN KEY 约束失败'。

有人可以帮助我理解为什么我不能在不违反外键约束的情况下从 'tracks' 表中删除一行,以及它违反了哪个约束。

非常感谢任何帮助!

这是 ERD DiagramTracks Table StructureTracks Table ConstraintsSample Data 的屏幕截图。

解决方法

我认为您的问题是 trackinvoice_item 引用,也就是说您可能有 TrackID 的外键定义invoice_items 表的列引用 Tracks 表的 TrackId 列。

突出显示:-

enter image description here

关于评论

所有外键都有'ON UPDATE NO ACTION ON DELETE NO ACTION'

NO ACTION 是默认值,即在发生冲突时您不采取任何操作,因此冲突保持原样,从而导致错误。也许根据 https://sqlite.org/foreignkeys.html#fk_actions

考虑其他操作

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。