今天早上在对mysql进行查询的时候,不小心把表中的int字段输入字符串进行条件判断。以下是所查询表的内容:
ID AlarmLevel AlarmMode AlarmAddress
1 0 0 abc@163.com/45g@163.com
2 0 1
3 0 2 13800000000000
4 1 0 abc@163.com/45g@163.com
5 1 1
6 1 2 13800000000000
7 2 0 abc@163.com/45g@163.com
8 2 1
9 2 2 13800000000000
其中AlarmLevel 、AlarmMode 和都为int类型。以下是我写的查询sql语句:
select * from net_kpialarmsendconfig where AlarmMode='avavaa';
但是这样的语句也一样可以出结果:
1 0 0 abc@163.com/45g@163.com
4 1 0 abc@163.com/45g@163.com
7 2 0 abc@163.com/45g@163.com
对于上诉问题,找了一下官方资料描述说:MySQL 会在不合规定的值插入表前自动修改为 0;对于mysql这样的设计,我还是不明白,为什么对于int数据类型不匹配的时候也可以给出查询,像上面的情况一样,请问大家平时有没有关注这一个问题?
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。