在使用pymysql 做網站往數據庫插入數據時發現如下錯誤:
pymysql.err.InternalError: (1054, "Unknown column '1a' in 'field list'")
結果發現用數字提交是沒有問題的,其他如char型就有問題了。
看下我的SQL語句:
cursor.execute("UPDATE %s set %s=%s,ID=%s where ID=%s"%(mtype,attribute,value,ID,ID))
當我們用int型數據實踐,sql在數據庫執行的是
insert into user(user,pass) values(001,001);
然而當執行char型號數據時,SQL語句變成了:
insert into user(user,pass) values(abc,abc);
現在大家能看出問題了吧,原因是 char型要加''符號(單雙引號都可以) 。
所以我給值都加上引號就可以了。
cursor.execute("UPDATE %s set %s='%s',ID='%s' where ID='%s'"%(mtype,attribute,value,ID,ID))