我的代碼試圖通過字典,「dbMap」進行迭代,並執行MySQL的INSERT INTO基於dbMAP的鍵和值聲明:Python的MySQLdb的「INSERT INTO」問題
for key in dbMap:
try:
cursor.execute("INSERT INTO '%s' (id, additional_details) VALUES (123, '%s')", (key, dbMap[key]))
except UnicodeEncodeError:
pass
我收到以下錯誤,當我運行上面的代碼:
_mysql_exceptions.ProgrammingError:(1064,「你在你的SQL語法中有錯誤;檢查與你的MySQL服務器版本相對應的手冊,以便在'''random_key'附近使用正確的語法(id,additional_details)VALUES(123,'random_value'at line 1「)
我看不出有什麼MySQL的語法,我違反了,我下面下面的資源幫助:
http://www.mikusa.com/python-mysql-docs/query.html
http://www.w3schools.com/sql/sql_insert.asp
更新:當我試試這個:
for key in dbMap:
try:
cursor.execute("INSERT INTO {} (id, additional_details) VALUES (123, '{}')".format(key, dbMap[key]))
except UnicodeEncodeError:
pass
我得到一個不同的錯誤:
_mysql_exceptions.OperationalError:(1054,「Unknown column'id'在「字段列表」「)
更新2:
for key in dbMap:
try:
query = "INSERT INTO `%s` (id, additional_details) VALUES(123, %%s)" % key
cursor.execute(query, dbMap[key])
except UnicodeEncodeError:
pass
得到了一個新的錯誤:類型錯誤:不串中轉換的所有參數格式
任何援助,幫助我弄清楚什麼錯是非常感謝
您可以使用周圍的表名的單引號?我只使用反引號。 https://dev.mysql.com/doc/refman/5.0/en/identifiers.html(ctrl + f「標識符引號字符」) –