我有两个表:玩家和成就。
玩家表中有玩家姓名字段,成就表也有玩家姓名字段。
因此两个表上的名称相同。
我清除了一些不活跃的玩家并删除了他们的数据。现在的问题是,由于我没有使用外键,所以我的成就表中有很多无用的数据,当我删除玩家表中的数据时,成就表中的数据没有被删除,并且成就表中有无用的数据.
我需要的是,如果成就表中的行不存在于玩家表中,则该查询将删除这些行。
因此,如果玩家的名字出现在成就表中,但不在玩家表中,则成就表中的数据将被删除。
我该怎么做?
最佳答案
我需要的是,如果成就表中的行不存在于玩家表中,则该查询将删除这些行。
使用 join 的一个版本
delete t1
from Achivemntes t1
left join
players t2
on t1.id=t2.id
where t2.id is null
关于mysql - 检查表中是否存在数据,然后在单独的表中进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36183777/