How to On Duplicate Key Update

mchruss03 picture mchruss03 · Aug 15, 2014 · Viewed 9.7k times · Source

I have this query that is executed in my Python script but when its inserting into the database and finds a duplicate of my unique column it causes it to error and stops. I know I need to use On Duplicate Key Update but I'm note sure how to properly add this.

My unique column 2.

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

If there is a duplicate to have it update that row/entry.

Answer

Tim Zimmermann picture Tim Zimmermann · Aug 15, 2014

When I understand you correctly, what you are looking for is this:

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]))

Check also Insert on duplicate.