1
我正在使用python更新Sqlite表中的條目。 我使用的命令是:使用Python更新表時Sqlite中的錯誤
handle.execute("UPDATE RECORD set NAME=%s DEVICE=%s PROJECT=%s IP=%s COMMENT=%s where ID = %s"%(arg[2],arg[3],arg[4],arg[5],arg[6],arg[1]))
對此我得到我得到一個錯誤:
sqlite3.OperationalError: near "DEVICE": syntax error
我不明白什麼是專門錯Device
。我也檢查過變量是否如預期的那樣。數據庫有一個名爲device的列,可以使用這個python文件打開/訪問和編輯數據庫。
添加逗號列之間工作。現在它給我一個錯誤,因爲「sqlite3.OperationalError:沒有這樣的列:john」。 這裏John是我想要在列中更新的變量: - 'name'。相反,爲什麼它搜索名爲john的列? – john
@john,您需要引用值'%s' - >''%s''。順便說一句,正如我在答案中所提到的,你最好使用參數傳遞而不是字符串格式化。 – falsetru
SET NAME ='%s',DEVICE ='%s',PROJECT ='%s',IP ='%s',COMMENT ='%s'WHERE ID ='%s'' – falsetru