Categories: MySQL

INSERT … ON DUPLICATE KEY UPDATE

Share

If you mention ON DUPLICATE KEY UPDATE when a row is inserted that is causing a duplicate value in a UNIQUE index or PRIMARY KEY then MySQL performs an UPDATE of the old row.

Suppose, in a table there are three columns i.e. a, b, c.
If column ‘a’ is declared as UNIQUE and contains the value 1 then the following two statements are similar effect:

INSERT INTO tbl_name (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c = c+1;
UPDATE tbl_name SET c = c+1 WHERE a = 1;

A table containing an AUTO_INCREMENT column and INSERT … ON DUPLICATE KEY UPDATE inserts or updates a row then, the LAST_INSERT_ID() function returns the AUTO_INCREMENT value.

Read Also: Update from one table to another with condition in MySQL

The ON DUPLICATE KEY UPDATE clause may contain multiple column assignments i.e. separated by commas.

The DELAYED option is ignored while you are using ON DUPLICATE KEY UPDATE.

Recent Posts

Unlock Growth – Guide to Online Financing and Business Loans for Entrepreneurs

If you are in a financial crisis , or need to start a new business…

20 hours ago

Optimize Your Hormonal Balance: Enclomiphene Citrate for Enhanced Wellness

Hormonal balance plays a pivotal role in overall well-being, influencing various aspects of health, from…

2 days ago

Paul Kanes Explores the World of Canine Companionship through Dog Walking

Dog walking is an excellent way to maintain your furry friend's camaraderie and provides many…

2 days ago

Top 5 Must-Have Features Every Mobile App Needs to Succeed

Introduction Businesses understand the diverse requirements of mobile applications, which provide a competitive advantage. There…

2 days ago

IoT Data Analytics: Ways to Gain Value from IoT Data

The Internet of Things (IoT) has recently changed the world. It links gadgets together and…

2 days ago

The Rise of NFTs: Exploring the Impact of Non-Fungible Tokens on the Digital Economy

NFTs, or Non-Fungible Tokens, are revolutionizing the digital economy. These unique digital assets, authenticated through…

3 days ago