如何在重复键时更新
我在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]))
另外,你也可以看看这个链接:重复时插入。