mysql查询错误_一个奇怪的MySQL查询错误
t_user表的phone_number字段是varchar(255)類型的,表示手機號,
在查詢某個手機號時,sql語句如下:
SELECT phone_number? FROM t_user WHERE phone_number = 13400000000
查詢結(jié)果:
phone_number
------------------------------
13400000000
13400000000x
怎么13400000000x也查出來的?
在手機號2邊加引號:
SELECT?phone_number??FROM?t_user?WHERE?phone_number?= '13400000000'
phone_number
------------------------------
13400000000
這樣就對了。
原因可能是mysql檢測到13400000000是個整數(shù),所以把phone_number取整了再查,看下面語句:
SELECT CAST(phone_number AS UNSIGNED) digit, phone_number FROM t_user WHERE phone_number = 13400000000
結(jié)果:
digit ? ? ? ? ? ? ? ? ? ?phone_number
---------------------------------------------------------
13400000000 ?13400000000
1340000000013400000000x
結(jié)論:字符串型的字段值一定要加引號,其實整形、enum型的最好也加引號
總結(jié)
以上是生活随笔為你收集整理的mysql查询错误_一个奇怪的MySQL查询错误的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 309到9799元 微星电竞PC及配件6
- 下一篇: 基于Android 13定制的OPPO