我有一个我想要更新的表,column1是主键
| chute | five |
|-------|------|
| Fa01 | null |
|-------|------|
| Fa02 | null |
|-------|------|
| Fa03 | null |
|-------|------|
我想根据第1列中的键更新第2列数据列表。
sort_list = [('10.0','Fa01'),('23.0','Fa02'),('35.0','Fa03'),('9.0','Fa04')]
query = "UPDATE ship_divert SET five = %s, WHERE chute = %s"
cursor.executemany(query,sort_list)
但是当我运行包含此查询的函数时,我收到以下错误
'...for the right syntax to use near 'WHERE chute = 'Fa01''
我已经在我的mysql控制台上测试了没有变量的查询,它可以正常工作
UPDATE ship_divert
SET five='28.0'
WHERE chute = 'Fa02'
我的脚本中的语法不正确?
答案 0 :(得分:3)
您需要删除sql中的,
:
query = "UPDATE ship_divert SET five = %s, WHERE chute = %s"
^
答案 1 :(得分:0)
使用此查询,您可以在一个查询中执行此操作。这会快得多。在示例中,我只有3个值。
INSERT INTO ship_divert (chute,five)
VALUES (
('Fa01','10.0'),
('Fa02','23.0'),
('Fa03','35.0'),
) ON DUPLICATE KEY UPDATE five=VALUES(five);