鍍金池/ 問(wèn)答/Python  數(shù)據(jù)庫(kù)  網(wǎng)絡(luò)安全/ pymysql為什么更新數(shù)據(jù)庫(kù)總提示1054

pymysql為什么更新數(shù)據(jù)庫(kù)總提示1054

    sql = "UPDATE arms SET gem2='%s' WHERE id = ('%d')" % ('紅瑪瑙',new_id)
    (1054, "Unknown column 'gem2' in 'field list'")
    
    
    sql = "UPDATE arms SET gem2='紅瑪瑙' WHERE id = ('%d')" % new_id
    (1054, "Unknown column 'gem2' in 'field list'")
    這樣也會(huì)報(bào)錯(cuò)這是為什么gem1就不會(huì)報(bào)錯(cuò).字符串也加入引號(hào)了

圖片描述

回答
編輯回答
我以為

sql應(yīng)該是沒(méi)啥問(wèn)題,尤其是gem1不會(huì)報(bào)錯(cuò)的情況下。檢查一下gem2前后是不是有空格或者換行符。

2017年9月21日 20:44
編輯回答
遺莣

用下面的這個(gè)sql試試?

sql = "UPDATE arms SET gem2='%s' WHERE id = ('%d')" % (pymysql.escape_string('紅瑪瑙'),int(new_id))
2018年5月30日 11:24