所以,我有一个包含2列的表格
[Col_1并输入int(11)自动增量] 和
[Col_2并输入int(11)NULL]
假设在该表中有3行。
1 7
2 7
3 6
问题是为什么该语句(查询)正确,为什么返回这样的结果?
SELECT * from table WHERE Col_2 = '7%fdh(ds;ds)dsa'
结果:
1 7
2 7
答案 0 :(得分:1)
这是当您比较不同类型时MySQL使用的隐式类型转换。
请参见手册中的documentation about type conversion。
报价:
当运算符与不同类型的操作数一起使用时,请键入 进行转换以使操作数兼容。一些转换 隐式发生。例如,MySQL自动将字符串转换为 数字,反之亦然。