我正在查看一些代码,并且一些错误引起了我的注意。有人比较tinyint列和varchar值。Mysql:将tinyint列与varchar值进行比较
但令人惊讶的是,这是工作(因为意图是与数值0比较)。
示例查询:
create table t1(x1 tinyint);
insert into t1 values (0),(0), (1), (2);
select * from t1 where x1 = 'live'
结果:
x1
0
0
我的问题是,为什么(任意)VARCHAR值的行为方式为数值0的相同int/tinyint列?
如果您需要将varchar列与int/tinyint列进行比较,那么db设计可能有问题。 – jarlh
请阅读...一个bug引起了我的注意.. – user2407394
对不起,没有仔细阅读,再次... – jarlh