>데이터 베이스 >MySQL 튜토리얼 >mysql in函数结果不同预期,异常null处理_MySQL

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-01 13:35:101054검색

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
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.