我在过去48小时内尝试过所有事情,并且没有弄清楚我哪里出错了。
cursor.fetchone()的工作原理如下:
row = cursor.fetchone()
for i in row:
x = '13.5m'
cursor.execute("""UPDATE table SET market_cap =%s WHERE symbol =%s""", (x,i))
但是cursor.fetchall()失败并说:
“您的SQL语法出错;请查看与您的MySQL服务器版本对应的手册,以便在第1行附近使用正确的语法”)
答案 0 :(得分:1)
我认为这里发生的事情是你传递的是tuple
string
。您在i
为('AAL.L',)
的评论中说,我认为cursor.execute
将其格式化为字符串。试试这个:
row = cursor.fetchone()
x = '13.5m' # this can be outside the iteration since it's the same value every time
for i in row:
cursor.execute("UPDATE table SET market_cap =%s WHERE symbol =%s", (x, i[0]))