在MySQL服务器中删除,我有3个表被叫用户的事情,thingfile删除时,从表中基于2场条件
user uid, username, name, location, version thing thingid, username,, version thingfile thingid, code, version
每个用户都有很多事情,每一件事情都有许多thingfiles 。
我会从用户表中删除象下面这样:
delete FROM user a WHERE a.username NOT IN (
SELECT b.by_user
FROM bp_userlist b)
and a.version="823"
更新时间: 前删除: 用户:
uid username name location version
1 abc abc abcdd O
2 abc abc abcdd 823
3 ddd ddd dddd 823
thing
thingid username version
1 abc O
2 abc O
1 abc 823
2 abc 823
3 ddd 823
1 ddd 823
thingfile
thingid code version
1 ee O
2 eed O
1 ee 823
2 eddd 823
3 fff 823
后删除: 用户:
uid username name location version
1 abc abc abcdd O
3 ddd ddd dddd 823
thing
thingid username version
1 abc O
2 abc O
3 ddd 823
1 ddd 823
thingfile
thingid code version
1 ee O
2 eed O
3 fff 823
我想要那些属于thingi的记录东西和东西文件表中的东西也会被删除。是否有可能没有外键约束?我有超过10个表和许多连接不能在一个查询中工作。
请分享您想要获得的输出以及您已经尝试过的输出。 –
如果没有外键约束,则必须包含两个更多的查询才能从这两个表中删除。否则,您如何期望MySQL知道要删除哪些行,而不必以某种方式定义关系? –
@RacilHilan我可以根据需要添加尽可能多的查询!没有添加外键约束 – MT467