[英]looping zipped list for variables in sql query
我有一個我想要更新的表,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'
在我的腳本中我的語法不正確?
您需要刪除,
在SQL:
query = "UPDATE ship_divert SET five = %s, WHERE chute = %s"
^
使用此查詢,您可以在一個查詢中執行此操作。 這會快得多。 在示例中,我只有3個值。
INSERT INTO ship_divert (chute,five)
VALUES (
('Fa01','10.0'),
('Fa02','23.0'),
('Fa03','35.0'),
) ON DUPLICATE KEY UPDATE five=VALUES(five);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.