mysql in函数结果不同预期,异常null处理_MySQL
程序员文章站
2022-06-06 22:26:00
...
bitsCN.com
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不近在语言中需要特殊考虑,在数据库中也是个比较特殊的情况。。
bitsCN.com
上一篇: mysql安装后添加gbk字符集的方法
下一篇: mysql中的日志(一)_MySQL