Mysql查詢時,對於數值型字段加單引號會引起的誤解~


假設有表 tb1

ID | name|

----+--------+

1   |2toon|

2   |1*xyz|

 

 

語句1:

 select * from  tb1 where ID='2toon' or name ='2toon';

 

mysql服務器在某模式下,可以執行這條句,就成功返回兩條記錄,原因在於 ID=‘2toon’ 加了單引號,mysql解釋為 ID=2.

 

語句2

select * from  tb1 where ID=2toon or name ='2toon';

此語句執行不了。

 

 

因此,想要得准確的查詢結果,對int的字段一定要做判斷與轉類型。

轉類型還可以防止SQL注入。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com