Python MySQL语法错误-重复键更新

我有以下MySQL + Python代码:


data = json.loads(decoded_response)


insert_values = []

cursor = cnx.cursor()

add_data = """INSERT INTO pb_ya_camps (camp_id,camp_name) VALUES (%s,%s) ON DUPLICATE KEY UPDATE VALUES (%s,%s)"""


for jsonData in data["data"]:

        if "No" in jsonData["StatusArchive"]:

                print("...processing campaign ",jsonData["Name"],"into the database.")

                insert_values.append((jsonData["CampaignID"],jsonData["Name"]))


try:

        cursor.executemany(add_data,(insert_values,insert_values))

目前会产生以下错误:


MYSQL ERROR: Failed processing format-parameters; 'MySQLConverter' object has no attribute '_tuple_to_mysql'

据我了解,它不喜欢以下内容:


cursor.executemany(add_data,(insert_values,insert_values))

我相信您无法使用Python做到这一点...但是我的问题可能是由于MySQL语法不正确引起的。你能看看吗?


INSERT INTO pb_ya_camps (camp_id,camp_name) VALUES (%s,%s) ON DUPLICATE KEY UPDATE VALUES (%s,%s)

我不确定如何正确使用ON DUPLICATE KEY UPDATE而不必重新指定所有值... <<< ---这是主要问题。


青春有我
浏览 137回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python