我正在使用Python将JSON数据上传到MySQL。我需要在insert语句中包含“ON DUPLICATE KEY UPDATE VALUES”,但是在Python中遇到了问题。
如果我运行下面的代码,一切都正常工作...
import json
import mysql.connector
mydb = mysql.connector.connect(host=x,user=x,password=x,database=x)
cursor = mydb.cursor()
json_data = json.loads(file)
for item in json_data['data']:
cursor.execute(
"INSERT INTO input_1 (a,b,c,d) VALUES (%s,%s,%s,%s)",
(item['a'],item['b'],item['c'],item['d'])
)
然而,当我把“ON DUPLICATE KEY”钉到最后…
import json
import mysql.connector
mydb = mysql.connector.connect(host=x,user=x,password=x,database=x)
cursor = mydb.cursor()
json_data = json.loads(file)
for item in json_data['data']:
cursor.execute(
"INSERT INTO input_1 (a,b,c,d) VALUES (%s,%s,%s,%s) ON DUPLICATE KEY UPDATE VALUES a=%s,b=%s,c=%s",
(item['a'],item['b'],item['c'],item['d'])
)
我收到以下消息:
编程错误:SQL语句的参数不足
2条答案
按热度按时间iaqfqrcu1#
替换:
其中:
SQL语句需要7个参数,而不是4个。
8iwquhpp2#
所有功能于一身:
使用示例: