【问题标题】:How to fix error jdbc4 duplicate entry when update/insert更新/插入时如何修复错误 jdbc4 重复条目
【发布时间】:2019-10-07 13:45:26
【问题描述】:

当我更新或插入 jbdc4 时出现此错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: 键“P​​RIMARY”的重复条目“0006-0208-254-3491-254254-01774” 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 方法)在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:423) 在 com.mysql.jdbc.Util.handleNewInstance(Util.java:409) 在 com.mysql.jdbc.Util.getInstance(Util.java:384)

有什么办法吗?

【问题讨论】:

  • 解决方法是不要两次使用相同的主键值。
  • 可以举个例子,好吗??谢谢
  • 什么例子?只是不要两次插入相同的主键。
  • 这只是一个相同的主要兄弟
  • 如果你尝试添加相同的主键,你最终会得到这个错误,主键是唯一条目,考虑更新而不是插入stackoverflow.com/questions/36442307/…

标签: java jdbc


【解决方案1】:

此错误消息告诉您正在尝试在数据库中插入一个条目,该条目的主键值等于先前插入的条目之一。这就是主键的作用,就是能够唯一标识一个条目,防止被选为主键的字段出现重复值。

示例:如果您的表格包含以下列(“id”、“age”)。如果选择“id”作为主键,则不能插入以下条目:

*插入 (1,20)

*insert (1,25) -->这里会在你的问题中给你上面提到的错误。

相反,您可以插入以下内容:

*插入 (1,20)

*插入 (2,25) 或插入 (2,20)

【讨论】:

    【解决方案2】:

    这发生在我认为与主键无关的更新语句上。有点乱的情况。当您在 sql 提示符下执行相同的 SQL 语句时,它会给出完美的结果,如果您向同一个程序添加延迟并再次运行它,它也可能会起作用。当您一次运行相当大的负载时,请认为它与 JDBC mysql 连接有关。

    【讨论】:

      【解决方案3】:

      检查 [Skip Tests] 复选框似乎很有帮助。

      您可以通过Settings---Build, Execution, Deployment---Build Tools---Maven---Runner(Intellij IDEA) 找到它。

      【讨论】:

        猜你喜欢
        • 2010-10-23
        • 1970-01-01
        • 2018-08-30
        • 1970-01-01
        • 1970-01-01
        • 2017-02-06
        • 2021-09-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多