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都可以。

你可能感兴趣的:(Mysql where条件对int字段的处理)