我正试图从表用户中删除一条记录。
以及在我的数据库浏览器中,尝试使用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甚至不是“游戏”中的外键???谢谢!
答案 0 :(得分:0)
最后的问题是我的SQLite数据库浏览器(3.11.2),其GUI允许删除,但实际上不起作用。当我再次绑在bash上并关闭并重新启动DB Browser时,行消失了。没什么见识,但我想还是要发表,以防其他人遇到。