SQLite3:删除记录时出错:外键不匹配

时间:2019-11-04 07:25:07

标签: sqlite foreign-keys

我正试图从表用户中删除一条记录。

以及在我的数据库浏览器中,尝试使用DELETE语句(从用户WHERE user_id = 10删除用户)删除它,但出现上述错误,特别是它说:“错误删除记录:外键不匹配-游戏“引用“组”(从“主要”删除。“用户”在 rowid IN('10');)中”)。 在我的架构下方:

创建表用户(     user_id INTEGER主键,     名称VARCHAR(255)NOT NULL,     哈希VARCHAR(255)NOT NULL,     UNIQUE(name));

创建表“组”(     'group_name'VARCHAR(255)非空,     'turn'INTEGER NOT NULL,     'user_id'INTEGER,     外键('user_id')参考'users'('user_id')     关于更新级联     删除级联 );

创建桌游戏(     game_id整数主键,     有效的INTEGER,     转到INTEGER,     group_name VARCHAR(255)NOT NULL,     外键(回合)参考组(turn_id)     关于更新级联     在删除级联上,     外键(group_name)参考组(group_name)     关于更新级联     不删除任何动作 );

为什么这是个问题? user_id甚至不是“游戏”中的外键???谢谢!

1 个答案:

答案 0 :(得分:0)

最后的问题是我的SQLite数据库浏览器(3.11.2),其GUI允许删除,但实际上不起作用。当我再次绑在bash上并关闭并重新启动DB Browser时,行消失了。没什么见识,但我想还是要发表,以防其他人遇到。