我创建了一个包含UNIQUE'mobile_no'的表,如
09727048248
9727048248
9824578564
9898998998
然后我将检查手机号码是否有效,如果它有效,那么我想将其更改为正确的格式,如919727048248。
为此,我调用了更新查询,如..
update bccontacts
set mobile_no='919727048248'
where mobile_no=09727048248
第一次成功运行,但第二次回复
ERROR 1062(23000):对于'mobile_no'键重复输入'919727048248'
因为'mobile_no'已经有一个唯一的密钥集。
那么还有IGNORE DUPLICATE KEY ON UPDATE
的其他查询吗?
答案 0 :(得分:74)
使用UPDATE IGNORE
:
update IGNORE bccontacts
set mobile_no='919727048248'
where mobile_no=09727048248
答案 1 :(得分:0)
如果您已将手机号码声明为表格中的主键,那么您的表格中不能使用相同的手机号码两次。看看MySQL UPDATE documentation。