使用https://www.sqlite.org/foreignkeys.html
处的艺术家/曲目示例我想放下两张桌子。我想如果我第一次放下曲目(参考艺术家),我就可以放弃艺术家了:
stat_5.executeUpdate("删除表,如果存在曲目;"); stat_6.executeUpdate(" drop table if exists artist;");
但这会发出异常" SQLException:外键约束失败"
我错过了什么?
答案 0 :(得分:0)
如果启用了外键约束,则在从数据库模式中删除表之前,DROP TABLE命令会执行隐式DELETE FROM命令。 [...]如果作为DROP TABLE命令的一部分执行的隐式DELETE FROM违反了任何直接外键约束,则会返回错误并且不会删除该表。
以正确的顺序删除数据,以便所有中间步骤都有效。 或者只是禁用外部约束检查。