1

在过去的 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 行的 ')' 附近使用正确的语法”)

4

1 回答 1

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]))
于 2015-05-26T19:12:47.523 回答