开发者社区> 问答> 正文

Java修改数据库表时某字段出现重复值不能修改该记录怎么继续修改下一条记录

Java修改数据库表的company_name字段,此字段唯一,company_name这个字段值:前面有问号的去掉以后如果和已有的company_name重复了,就不更新或者删除,前面有问号的去掉以后如果和已有的company_name没重复就去掉问号。如:?北京金瓯鼎建筑装饰工程有限公司莱州分公司和北京金瓯鼎建筑装饰工程有限公司莱州分公司两个公司,把前面有问号的去掉问号,但是有重复的,遇到有重复的不用修改此记录或者删除此记录。
screenshot
错误:Duplicate entry '北京金瓯鼎建筑装饰工程有限公司莱州分公司' for key 'company_name'

展开
收起
吴孟桥 2016-06-14 14:39:26 2882 0
3 条回答
写回答
取消 提交回答
  • insert into
    ....
    ON DUPLICATE KEY UPDATE
    xxx=xxx,

    2019-07-17 19:37:41
    赞同 展开评论 打赏
  • 你好,执行一条update是不可能成功的,因为DB执行中发生任何异常整个修改就回滚了。建议你:

    1. 获取所有以问号开始的纪录集
    2. 遍历结果集,每一条单独执行update sql,同样捕获执行异常,继续处理下一条。
    2019-07-17 19:37:41
    赞同 展开评论 打赏
  • 先用
    screenshot
    查询下,返回>0就是已经有了。

    2019-07-17 19:37:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载