如何在重复键时更新

1 投票
1 回答
11180 浏览
提问于 2025-04-18 17:22

我在Python脚本中有一个查询,当它尝试把数据插入数据库时,如果发现我设置的唯一列有重复的值,就会出错并停止运行。我知道我需要使用“在重复键时更新”的功能,但我不太确定该怎么正确地添加这个功能。

我的唯一列是第二列。

cur.execute("""INSERT INTO logs (1,2,3) VALUES (%s,%s,%s) """,(line[0], line[1], line[2]))

如果有重复的情况,就让它更新那一行/那条记录。

1 个回答

9

如果我理解得没错,你想要找的是这个:

cur.execute(""" INSERT INTO logs (1, 2, 3) VALUES (%s, %s, %s) ON DUPLICATE KEY UPDATE 1=%s, 3=%s """, (line[0], line[1], line[2], line[0], line[2]))

另外,你也可以看看这个链接:重复时插入

撰写回答