biu.me

Tag Archives: 恢复

一条SQL查询语句的问题,后果很严重

昨天通过查询分析器批量删除垃圾用户的时候,结果把用户表给清空了,上百万条记录没了。 经过半小时的数据库还原,问题解决。用户数据都完全恢复。 但是那条语句为什么把用户表清空了我倒是很迷糊。 那条语句是这样的 delete Table_1 where UserID in (select [ID] from Table_2) 问题是Table_2没有[ID]字段。结果Table_1的数据都清空了。 于是我做了下面的测试 select [ID] from Table_2 报错 列名 ‘ID’ 无效。 select top 10 * from Table_1 where UserID in (select [ID] from Table_2) 列出了10条记录。 再测试,把[ID]修改为[xxxxx] select top 10 * from Table_1 where UserID in (select [xxxxx] from Table_2) 报错 列名 ‘xxxxx’ 无效。 [...]