Update MySQL table and ignore duplicate entries

Mysql

Mysql Problem Overview


I created a table that contains a UNIQUE 'mobile_no' like

09727048248
9727048248
9824578564
9898998998

Then I am going to check whether or not the mobile number is valid, and if it's valid then I want to change it into the proper format like 919727048248.

For that I called update query like..

update bccontacts 
set mobile_no='919727048248' 
where mobile_no=09727048248

The first time it ran successfully, but the second time it replied

> ERROR 1062 (23000):Duplicate entry '919727048248' for key 'mobile_no'

Because there is already a unique key set for the 'mobile_no'.

So is there any other query which will IGNORE DUPLICATE KEY ON UPDATE?

Mysql Solutions


Solution 1 - Mysql

Use UPDATE IGNORE:

update IGNORE bccontacts 
set mobile_no='919727048248' 
where mobile_no=09727048248

More info here: http://dev.mysql.com/doc/refman/5.0/en/update.html

Solution 2 - Mysql

If you have declared the mobile number as the primary key in your table, then you can’t have the same mobile number twice in your table. Have a look at the MySQL UPDATE documentation.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionVivek BuddhadevView Question on Stackoverflow
Solution 1 - MysqlZaar HaiView Answer on Stackoverflow
Solution 2 - MysqlR RView Answer on Stackoverflow