Так что я работал над этим, так как в прошлую пятницу и не может обойти эту ошибку:1064, «У Вас есть ошибка в вашем SQL синтаксиса; ...» Python MySQL
1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[u'161010-035670'] WHERE order_id=87' at line 1" or something along the same lines as this error.
В основном мой питон будет захватывать данные из базы данных MySQL, он создает случай в SalesForce, используя Simple-Salesforce, а затем запрашивает, что он правильно создан, но мне нужно, чтобы он записывал этот номер случая в базу данных в столбце, который я создал специально для номера билета.
Текущий код:
for rowx in xrange(1, sheet.nrows):
SN = sheet.row_values(rowx, start_colx=3, end_colx=None)[0]
print SN
Id = sheet.row_values(rowx, start_colx=6, end_colx=None)[0]
print Id
d = sf.query("SELECT CaseNumber FROM Case WHERE Serial_Number__c ='%s' AND Status = 'New Portal RMA'" % SN)
data = [e["CaseNumber"] for e in d["records"]]
print (data)
try:
con = MySQLdb.connect(user=ur, passwd=pd, host=ht, port=pt, db=db)
cursor = con.cursor()
cursor.execute("UPDATE rma_order SET rma_num=%s WHERE order_id=%s" % (data, Id))
con.commit()
except Error as error:
print(error)
finally:
cursor.close()
con.close()
Главная проблема связана с этой строки кода:
cursor.execute("UPDATE rma_order SET rma_num=%s WHERE order_id=%s" % (data, Id))
Я попытался с и без '% s' без разницы, пытался»... WHERE order_id =% s ", (data, Id)) с той же ошибкой. Если я заменю «order_id = 87», и пусть данные остаются там с cursor.execute («UPDATE rma_order SET rma_num =% s WHERE order_id = 87"% (данные)), тогда он отлично работает и записывает номер дела в правильном формате в базы данных, как только я добавлю «Id» в качестве фактора с% s, это даст мне ошибки. Я также попытался с% d с тем же результатом.
Любая помощь была бы принята с благодарностью.
Человек .... Я потратил более 10 часов на это, пытаясь использовать разные методы, и вы разрешаете его за все время, которое потребовалось вам, чтобы нажать «Добавить комментарий». Благодарю вас! –