问下SQL语句是弱类型的还是强类型的 我这个 reg_type 是 enum类型enum(1,2)SELECT asset_id FROM gx_school_asset WHERE ( `reg_type` = 2 )
SELECT asset_id FROM gx_school_asset WHERE ( `reg_type` = '2' )
就上面这两条语句 简直是两个不同的方向搜索
求解
SELECT asset_id FROM gx_school_asset WHERE ( `reg_type` = '2' )
就上面这两条语句 简直是两个不同的方向搜索
求解
'' 0
'one' 1
'two' 2
'three' 3 而您的enum('1','2')刚好对应 1 2NULL NULL
'' 0
'1' 1
'2' 2 所以结果一样,执行下面的语句可以看见SELECT asset_id,`reg_type`,`reg_type`+0 FROM gx_school_asset WHERE ( `reg_type` = 2 )
参考
http://dev.mysql.com/doc/refman/5.1/en/enum.html
这是为什么?