Mysql where条件对int字段的处理

今天操作mysql数据库,进行select的时候发现,mysql可以直接对int字段传string类型值。

如表student,字段Id(int),可以select * from student where id='12abc'。发现可以查到id=12的记录。

原理:Mysql会将传入的string(要赋值给int字段的)从左到右的第一个非数值开始,将后面的字符串转成0,在和数值类型相加,如上述例子就是“12abc”->12+0=12,也就是等效于select * from student where id=12。

insert、select、update、delete都可以。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一. Java基础部分.................................................
    wy_sure阅读 3,837评论 0 11
  • width: 65%;border: 1px solid #ddd;outline: 1300px solid #...
    邵胜奥阅读 4,894评论 0 1
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,057评论 0 19
  • 一、MySQL优化 MySQL优化从哪些方面入手: (1)存储层(数据) 构建良好的数据结构。可以大大的提升我们S...
    宠辱不惊丶岁月静好阅读 2,490评论 1 8
  • 1.今天儿子生日,做了一个生日蛋糕,处女作奶油没打发将就抹上去,儿子帮我摆草莓和樱桃上去,并不嫌弃做得丑,谢谢儿子...
    a心语心愿阅读 133评论 0 0