开发日记之mysql直接对int字段传string

mysql是可以直接对int字段传string类型的参数的

Mysql会将传入的string(要赋值给int字段的)从左到右的第一个非数值开始,将后面的字符串转成0,在和数值类型相加,select * from table where id='12abc'等效于select * from table where id=12

insert、select、update、delete都可以

但注意,像UUID这种就不能这么搞了,因为里面带字母;

还有,where条件中的表达式最好要符合字段的数据类型,比如int类型的字段不要写成id=‘1’,因为有的版本的mysql这样写是无法命中索引的。

你可能感兴趣的:(go)