The code gives an error - error-1064-42000-you-have-an-error-in-your-sql-syntax:

PAIR = 'ETH_USD' def update_mysql(): try: db = mysql.connector.connect(host="localhost", user="root", passwd="&&&&&&&&&", db="exmo") except mysql.connector.Error as err: if err.errno == errorcode.ER_ACCESS_DENIED_ERROR: print("Something is wrong with your user name or password") elif err.errno == errorcode.ER_BAD_DB_ERROR: print("Database does not exist") else: print(err) cur = db.cursor() resource = requests.get('https://api.exmo.com/v1/trades/? pair=%s&limit=100' % PAIR) data = json.loads(resource.text) try: data = json.loads(resource.text) except ValueError as e: print(e) list_data = data[PAIR] list_sort=sorted(list_data , key=lambda d: d['date']) #, reverse=True) # print(list_data) # print(list_sort) q = """insert ignore into trade (trade_id, type,quantity,price,amount, date) values (%s,%s,%s,%s,%s,%s)""" try: cur.prepare(q) cur.executemany(q, list_sort) # print('Yes') db.commit() cur.close() db.close() except: # print('No') db.rollback() return() 
  • translation: "you have an error in the sql syntax". what remains to be misunderstood? - aleksandr barakin
  • It works: for item in reversed (data [PAIR]): _SQL = "" "insert ignore into trade (trade_id, type, amount, quantity, date, price) values ​​(% s,% s,% s,% s, % s,% s) "" "cur.execute (_SQL, (item ['trade_id'], item ['type'], item ['amount'], item ['quantity'], item ['date'] , item ['price'])) - Sergey Ivanitskiy

0