In MySQL, a zero number equals any string

最近在做项目的过程中发现了一个问题

数据库表 test  有个字段是 target_id  int(11),这个字段可能为零

使用如下查询

select * from test where target_id = '';
select * from test where target_id = 'abcd';

这样,所有target_id = 0 的结果都会出来,为什么?

查阅资料,这是类型转化导致的,在mysql中  0  意味着 任何字符串


其实不是mysql特有了,在php中有个intval 方法将字符串转化为数字

intval("abcd");//0
intval("99a");//99
intval("a99");//0
intval("99");//99

我相信大家应该都明白了吧,哈哈

QQ群

QQ群1: 325264502

QQ群2: 730089859

微信机器人

微信扫码
自动加微信群

个人微信

微信扫码
和浪子聊天

微信服务号

微信扫码
加入服务号

Linux课程

快速上手Linux 玩转典型应用 在慕课官方已下线,如有需要请加我个人微信联系

返回顶部