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