полный код: import pymysql db = py mysql .Connect (host = "localhost", user = "root", port = 3306, db = "spider") cursor = db.cursor () data = {'id': '20120001', 'name': 'BOb', 'age': 21} table = 'Students' keys = ','. join (data.keys ()) values = ', '.join (['% s '] * len (data))
**sql = "INSERT INTO {table}({keys}) VALUES({values}) ON DUPLICATE KEY UPDATE".format(table=table,keys=keys,values=values)**
update= ','.join(['{key}=%s'.format(key=key) for key in data])
sql += update
try:
if cursor.execute(sql,tuple(data.values())*2):
print("Succesful")
db.commit()
except Exception as e:
print(e.args)
db.rollback()
db.close()
выражение ошибки:
1064, "В вашем SQL есть ошибка синтаксис; проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы узнать правильный синтаксис для использования рядом с 'UPDATEid =' 20120001 ', name =' BOb ', age = 21' в строке 1 "). Я не знаю, как это сделать Решите это. Если вы можете мне помочь, большое спасибо за это.