mysql—mysql查詢語句提示Unknown column ‘xxx’ in ‘where clause’


運行結果中提示Unknown column ‘xxx’ in ‘where clause’的問題。
經過大神的指導,頓時明白其中緣由,如果sql中定義的類型是int型的可以不用加引號,但是如果是字符串類型的,必須加引號。
例如:

select ID from vc_diagram where USER_ID = "+QaUtil.user_id +" AND NAME = "+diagramName+";

查詢時會報Unknown column ‘xxx’ in ‘where clause’
因為USER_ID是整型,NAME是字符串類型,sql中字符串類型必須要包含在引號內,所以修改為:

select ID from vc_diagram where USER_ID = "+QaUtil.user_id +" AND NAME = '"+diagramName+"';

問題解決,完美!

 

PS:還有一種問題,如果是整形,加(單)引號內反而報Unknown column ‘xxx’ in ‘where clause’的錯,需要去掉引號才行。

select * from (select t.*,FROM_UNIXTIME(timeline,'%Y-%m-%d') as timeline0 from `boc_circle_post` t) as T  where T.timeline >=1593532800 and T.timeline < 1598889600 

 

PS:這一點跟Oracle也是不同,Oracle一般都加引號都可行且更保險不會報錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM