`
xitong
  • 浏览: 6189465 次
文章分类
社区版块
存档分类
最新评论

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不近在语言中需要特殊考虑,在数据库中也是个比较特殊的情况。。



分享到:
评论

相关推荐

    mysql函数大全,mysql

    STRCMP STRCMP()函数是MySQL里比较字符串的最简单方式之一。这个函数接受两个参数——要被比较的字符串。如果这个两个字符串相同,它就返回0;如果第一个大于第二个,它就返回1;如果第一个小于第二个,它就返回-1 ...

    mysql常用函数汇总.chm

    Mysql的常用函数整体, 从网上收集的一些常用函数, 进行汇总整体成文档 MySQL控制流函数: CASE WHEN[test1] THEN [result1]...ELSE [default] END如果testN是真,则返回resultN,否则返回default CASE [test] WHEN...

    Mysql实现null值排在最前/最后的方法示例

    前言 我们已经知道 MySQL 使用 SQL ...=>: 比较操作符(不同于=运算符),当比较的的两个值为 NULL 时返回 true。 关于 NULL 的条件比较运算是比较特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。 在 MySQ

    mysql数据库转瀚高数据库所需要的函数列表

    1、mysql数据库转国产化瀚高数据库; 2、有些函数在瀚高数据库中不存在,需要添加自定义函数。

    MySql函数详解!!!

    MySQL数据库提供了很多函数包括: 数学函数:数学函数主要用于处理数字,包括整型、浮点数等。 字符串函数:字符串函数是MySQL中最常用的一类函数,字符串函数主要用于处理表中的字符串。 日期和时间函数:MySQL的...

    mysql存储过程之返回多个值的方法示例

    mysql存储函数只返回一个值。要开发返回多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程。咱们先来看一个orders表它的结构: mysql> desc orders; +----------------+-------------+------+-----+--------...

    mysql字符串连接函数

    和MySQL中concat函数不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL mysql> select concat_ws(',','11','22',NULL); +-------------------------------+ | concat_ws(',','11','22',NULL) | +-----...

    c语言连接mysql数据库

    函数原型: MYSQL *mysql_init(MYSQL *mysql) 函数返回值: 一个被始化的MYSQL*句柄 备注: 在内存不足的情况下,返回NULL 所需头文件: #include <mysql/mysql.h> 函数功能: 关闭一个服务器连接,并释放与连接...

    mysql中替代null的IFNULL()与COALESCE()函数详解

    在MySQL中isnull()函数不能作为替代null值! 如下: 首先有个名字为business的表: SELECT ISNULL(business_name,'no business_name') AS bus_isnull FROM business WHERE id=2 直接运行就会报错: 错误代码...

    MySql中的IFNULL、NULLIF和ISNULL用法详解

    今天用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下: mysql中isnull,ifnull,nullif的用法如下: isnull(expr) 的用法: 如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。 ...

    2023年,MySQL最新最详细的教程资源 详细讲解了MySQL的各种用法

    MySQL NULL 值处理 MySQL 正则表达式 MySQL 事务 MySQL ALTER命令 MySQL 索引 MySQL 临时表 MySQL 复制表 MySQL 元数据 MySQL 序列使用 MySQL 处理重复数据 MySQL 及 SQL 注入 MySQL 导出数据 MySQL 导入数据 MySQL ...

    mysql常用函数.md

    SQL 语句中,表达式可用于一些诸如SELECT语句的ORDER BY 或HAVING子句、SELECT、 DELETE或 UPDATE语句的...使用文本值、column值、NULL值、函数、 操作符来书写表达式。 要点叙述了可用于书写MySQL表达式的函数和操作符

    mysql not in、left join、IS NULL、NOT EXISTS 效率问题记录

    NOT IN、JOIN、IS NULL、NOT EXISTS效率对比 语句一:select count(*) from A where A.a not in (select a from B) 语句二:select count(*) from A left join B on A.a = B.a where B.a is null 语句三:select ...

    详解MySQL中的NULL值

    => 操作符比较值(不同于=运算符)为ture,即使两个NULL值 涉及NULL条件是特殊的。不能使用 =NULL 或 !=NULL 寻找NULL值的列。这种比较总是告诉他们是否是真正的失败,因为这是不可能的。即使是NULL=NUL

    浅谈SQLServer的ISNULL函数与Mysql的IFNULL函数用法详解

    本篇文章是对SQLServer的ISNULL函数与Mysql的IFNULL函数进行了详细的分析介绍,需要的朋友参考下

    MySQL 字符串函数大全

    MySQL 字符串函数大全 对于针对字符串位置的操作,第一个位置被标记为1。 ASCII(str) 返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。 mysql> select ASCII(‘2’); ...

    MySQL NULL 值处理实例详解

    MySQL NULL 值处理 我们已经知道MySQL使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。 为了处理这种情况,MySQL提供了三大运算符: IS ...

    mysql的日期和时间函数

    mysql的日期和时间函数 这里是一个使用日期函数的例子。下面的查询选择所有 date_col 值在最后 30 天内的记录。 mysql> SELECT something FROM tbl_name WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) ...

    mysql函数

    NULL 博文链接:https://fangyong2006.iteye.com/blog/768281

Global site tag (gtag.js) - Google Analytics