更新MySQL表并忽略重复的条目

Viv*_*dev 35 mysql

我创建了一个包含UNIQUE'mobile_no'的表

09727048248
9727048248
9824578564
9898998998
Run Code Online (Sandbox Code Playgroud)

然后我将检查手机号码是否有效,如果它有效,那么我想将其更改为正确的格式,如919727048248.

为此我称为更新查询,如..

update bccontacts 
set mobile_no='919727048248' 
where mobile_no=09727048248
Run Code Online (Sandbox Code Playgroud)

它第一次成功运行,但第二次回复

ERROR 1062(23000):密钥'mobile_no'的重复条目'919727048248'

因为'mobile_no'已经有一个唯一的密钥集.

那么还有其他任何查询IGNORE DUPLICATE KEY ON UPDATE吗?

Zaa*_*Hai 82

用途UPDATE IGNORE:

update IGNORE bccontacts 
set mobile_no='919727048248' 
where mobile_no=09727048248
Run Code Online (Sandbox Code Playgroud)

更多信息:http://dev.mysql.com/doc/refman/5.0/en/update.html


R R*_*R R 0

如果您已将手机号码声明为表中的主键,则\xe2\x80\x99t 表中不能有两次相同的手机号码。查看MySQL UPDATE 文档

\n