1. 程式人生 > >MySql報錯原因分析Unknown column ‘xxx’ in ‘where clause’

MySql報錯原因分析Unknown column ‘xxx’ in ‘where clause’

在更新資料庫時曾經碰到過類似於Unknown column ‘xxx’ in ‘where clause’的問題。 單從字面理解,我們很容易得出列名不存在的結論,但是,很多時候起始並不是由於列名出錯造成的。而是由於拼湊sql語句時對字元型別資料沒有用引號引起來造成的。

例如:一個sql語句:

    UPDATE tbl_Mdr SET nRecvTime=%s WHERE strMsgId=%s則錯誤如下:

Unknown column
‘ysy′ in ‘where clause’

如果sql中字串型別必須要包含在引號內。

所以修改sql為UPDATE tbl_Mdr SET nRecvTime='%s' WHERE strMsgId='%s'

則錯誤消失。。