欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-06-08 18:22:49
...
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