xiaowei8782088 发表于 2016-10-21 10:08:25

mysql in函数结果不同预期,异常 null

  好几次合服后,游戏里面的账号达到了100w上,整点的一些操作导致服务器响应很慢,后来发现,作为研发方我们没必要存没有实际内容的账号,那游戏来说就是,没必要存没有角色的账号,毕竟有角色的账号有的服甚至到不了百分之一。
  于是决定删除这些没角色的账号。
  select count(*) from user;

  +----------+
| count(*) |
+----------+
| 1004897 |
+----------+

  select count(*) from player;

  

  +----------+
| count(*) |
+----------+
|57342 |
+----------+

  delete from user where id not in (select user_id from player)

  +----------+
| count(*) |
+----------+
|    0 |
+----------+

  

  怎么想都觉得纳闷,因为user的id跟player的user_id都是唯一的
  无意间想到null的情况。
  一查果然
  select user_id from player

  

  里面 有null的情况存在导致结果出现异常。
  删除 那条记录后一切正常
  看来null不近在语言中需要特殊考虑,在数据库中也是个比较特殊的情况。。
  

  
页: [1]
查看完整版本: mysql in函数结果不同预期,异常 null