【问题标题】:FOREIGN KEY constraint failed, SQLite [closed]FOREIGN KEY 约束失败,SQLite [关闭]
【发布时间】:2021-03-29 19:09:21
【问题描述】:

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

谁能帮我理解为什么我不能从“tracks”表中删除一行而不违反外键约束,以及它违反了哪个约束。

非常感谢任何帮助!

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

【问题讨论】:

标签: sql sqlite foreign-keys


【解决方案1】:

我相信您的问题是 trackinvoice_item 引用了那是您可能有 TrackID 的外键定义invoice_items 表的列引用 Tracks 表的 TrackId 列。

如突出显示:-

关于评论

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

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

【讨论】:

  • 啊,一切都清楚了!非常感谢,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-26
  • 1970-01-01
  • 2019-11-01
  • 2018-11-06
  • 1970-01-01
相关资源
最近更新 更多