ホームページ > データベース > mysql チュートリアル > mysql in函数结果不同预期,异常null处理_MySQL

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-01 13:35:10
オリジナル
1048 人が閲覧しました

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
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート