RT ,我需要他搜不出 ID=1 的条目才对,这个要怎么解决
|
tsunliSep 11, 2015
1
id != 1 ?
|
|
altchenSep 11, 2015
2
id 是 bigint 的吧?为什么要 where 字符类型?应该在程序用正确的类型
|
|
996635Sep 11, 2015
3
要看你的 id 的 类型, 如果不是 varchar 就会有问题
|
|
caoyueSep 11, 2015
4
|
|
anoymouxSep 11, 2015
5
id 是 int 型,'1-1' 被转成了 1
把 id 改成 varchar |
|
zonghuaSep 11, 2015 via iPhone
6
1-1 是字符
|
|
SoloCompanySep 11, 2015
7
有毛病啊
‘ 1-1 ’ 强制类型转换成 int ,并且是尽量容错的,就是遇到非数字就终止(减号),结果就是 1 所以你的条件是 id=1 |
|
8
@caoyue
@anoymoux @SoloCompany 对的, ID 是自增字段,所以是 BIGINT 类型,但是当输入 1-2 , 3-10 这种东西的时候。我希望结果并不等于 ID 1 和 3 。有办法让 MYSQL 强制数据类型么 |
|
SoloCompanySep 12, 2015
9
@heat 你这是玩 hi 了吧,要是自己用,去掉引号就是了,要是在线上用,你不怕被 SQL 注入玩坏的话可以尽管试试,没有安全意识的话,加引号一样要被玩坏。正确的做法,自己做个四则运算解释器或者找现成的,计算好后再做查询
|