python MySQL Fetchone / Fetchall更新

时间:2015-05-26 14:44:12

标签: python mysql fetchall

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

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]))