zoukankan      html  css  js  c++  java
  • 奇怪了。单步调试抛主键冲突异常。直接运行是正常的

    问题描述:
    这个sql放到plsql里可以正常执行,但是放到程序里执行的时候,我单步调试执行的时候,运行stmt.executeUpdate();这句的时候,就会抛出主键冲突的异常.奇怪的是,我如果直接运行程序,就可以正常执行。不会抛出任何异常
    sql = "insert into B(Country_ID,CREATE_DATE,DATA_TIMES,COUNTRY_NAME, DATA_DATE) 
    Select t.country_id,t.create_time,'"+ Data_Times+ "', t.country_name,'"+ Data_Date+ "' from f_country t";
    log.info("执行sql-- " + sql + " ---");
    stmt = conntect.prepareStatement(sql);
    stmt.executeUpdate();

    解决:

    我在调试的时候watch了一个expression是stmt.executeUpdate()。所以每次单步调试到stmt = conntect.prepareStatement(sql);这句的时候,eclipse就运行stmt.executeUpdate()并返回表里受影响的行数.这个时候我继续单步执行下一句,也就是stmt.executeUpdate()。那么肯定会提示主键冲突。因为执行了两遍stmt.executeUpdate()语句。

    这就是为啥我单步调试抛主键冲突异常,而直接运行的时候不抛的原因。。
    这种问题真是晕死了。
  • 相关阅读:
    Matrix Chain Multiplication[HDU1082]
    Color a Tree[HDU1055]
    Piggy-Bank[HDU1114]
    Catching Fish[HDU1077]
    用单位圆覆盖尽量多的点
    LianLianKan[HDU4272]
    Travelling
    求多边形面积
    方格取数(1)
    Pebbles
  • 原文地址:https://www.cnblogs.com/xryyforver/p/1845782.html
Copyright © 2011-2022 走看看