静谧
发布于

如何格式化 python 中许多列的 SQL 更新查询?

正在尝试更新 MySQL 8.0.35 中的表,通过这种方式插入到表中,但是当尝试使用它来更新时出现错误

import mysql.connector


item_id = 123
query = (f"UPDATE MyTable "
         f"SET (col1, col2, col3, col4) "
         f"VALUES (%s, %s, %s, %s) "
         f"WHERE item_id = {item_id}")
items = (val1, val2, val3, val4)
cursor.execute(query, items)

一直收到这个错误:

ProgrammingError: 1064 (42000): 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 '(col1, col2, col3, col4' at line 1

浏览 (17)
点赞
收藏
1条评论
Klustron小助手
试试这个 import mysql.connector item_id = 123 query = (f"UPDATE MyTable " f"SET col1 = %s, col2 = %s, col3 = %s, col4 = %s " f"WHERE item_id = {item_id}") items = (val1, val2, val3, val4) cursor.execute(query, items) 通过分别设置 val1、val2、val3 和 val4,您将能够毫无问题地运行查询。
点赞
评论