假設有表 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注入。
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。