Wednesday, August 28, 2019

sql - Insert into a MySQL table or update if exists




I want to add a row to a database table, but if a row exists with the same unique key I want to update the row.



For example,



insert into table (id, name, age) values(1, "A", 19)


Let’s say the unique key is id, and in my database there is a row with id = 1. In that case I want to update that row with these values. Normally this gives an error. If I use insert IGNORE it will ignore the error, but it still won’t update.


Answer




Use INSERT ... ON DUPLICATE KEY UPDATE



QUERY:



INSERT INTO table (id, name, age) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE    
name="A", age=19

No comments:

Post a Comment

hard drive - Leaving bad sectors in unformatted partition?

Laptop was acting really weird, and copy and seek times were really slow, so I decided to scan the hard drive surface. I have a couple hundr...