线程-sql 找错,一个很奇怪的错误

问题描述

sql 找错,一个很奇怪的错误
        sql = "UPDATE bs2_dl_road_min SET count=count+{0} WHERE time='{1}' "
            "AND host_ip='{2}' AND module='{3}' AND method='{4}' AND status='{5}' "
            "AND size_level='{6}' AND level='{7}' AND submodule_road='{8}'".format(count,
            str_time, host_ip, module, method, status, size_level, level, submodule_road)
        if db.myCur.execute(sql) >= 1:
            return True
    except Exception, e:
        #logger.error(traceback.format_exc().replace('
', ' '))
        return False
    finally:
        db.myConn.commit()

    ############################ Insert
    try:
        sql = "INSERT INTO bs2_dl_road_min(region, zone_id, host_ip, module, method, "
            "status, size_level, level, submodule_road, count, time) "
            "VALUES('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', "
            "'{10}')".format(region, zone_id, host_ip, module, method, status,
            size_level, level, submodule_road, count, str_time)
        if db.myCur.execute(sql) >= 1:
            return True
    except Exception, e:
        #logger.error(traceback.format_exc().replace('
', ' '))
        return False
    finally:
        db.myConn.commit()

    ############################ Update
    try:
        sql = "UPDATE bs2_dl_road_min SET count=count+{0} WHERE time='{1}' "
            "AND host_ip='{2}' AND module='{3}' AND method='{4}' AND status='{5}' "
            "AND size_level='{6}' AND level='{7}' AND submodule_road='{8}'".format(count,
            str_time, host_ip, module, method, status, size_level, level, submodule_road)
        if db.myCur.execute(sql) >= 1:
            return True
    except Exception, e:
        #logger.error(traceback.format_exc().replace('
', ' '))
        return False
    finally:
        db.myConn.commit()

                    三段sql ,逻辑是第一段根据主键更新数据,如果更新失败,说明主键不存在,则用此主键插入数据。如果插入失败,说明可能此主键被别的线程的事务插入了,再一次执行第一步的更新动作,这个程序跑了至少一年,都没出过问题
                    现在问题是,三段都出错了,第一段返回0,第二段直接报错主键冲突,第三段又返回0,求高手指导可能的问题在哪

解决方案

关键你这个不是纯 sql,建议你调试下看看呢

解决方案二:

一个奇怪的错误
今天一个奇怪的错误
一个与命名空间有关的奇怪错误!

时间: 2024-10-18 13:10:00

线程-sql 找错,一个很奇怪的错误的相关文章

c语言 单片机-keil4开发中遇到的一个很奇怪的问题。

问题描述 keil4开发中遇到的一个很奇怪的问题. void main(){ // uchar test_i; const uchar timp_button=0xfF; //this value is that the button havn't sticked uchar n_delay; //delay unsigned char j=0; unsigned char i; intend_initiation(); //调用时间设定程序 while(1){ if((hour==alarm_

java-大神进来帮看看,一个很奇怪的问题

问题描述 大神进来帮看看,一个很奇怪的问题 代码如下,偶尔会出现数据库未更新的问题,但是看日志里面提交sql的日志已经打印出来,sql语句单独拿出来执行也没问题,我是真搞不明白了,大神求助啊! 解决方案 有可能是因为表字段的关联关系或者表字段的大小限制,是否非空,数值范围的限制 解决方案二: catch后,把exception输出到日志中,不就知道报的什么错了么? 插入失败的可能原因太多了

ibatis报错,很奇怪,求大神帮忙

问题描述 ibatis报错,很奇怪,求大神帮忙 现在项目中用的是ibatis,第一次接触,这两天一直在报错,都要疯了,请大神帮忙看看吧. 配置如下: resultMap="cpVoucherResultCheckIn" parameterClass="elementCondition"> select master.* from cp_voucher master where master.sum_cp_voucher_id is null and maste

关于备份数据库一个很奇怪的问题,求教!

问题描述 今天在公司做项目,遇到一个很奇怪的问题,目的是通过C#输出一个.bat文件,然后执行.bat文件备份数据库,在公司执行代码时会生成一个0字节的.sql文件,但是在程序外,直接执行该.bat文件,则会生成数据库的备份,不知道是哪里导致的,求教各位大神,代码如下:stringpath=Application.StartupPath;if(!string.IsNullOrEmpty(path)){StreamWriterreBack=newStreamWriter(Application.S

java-新手问一个很奇怪的问题

问题描述 新手问一个很奇怪的问题 class Demo { int num = 1; int add = 2; Demo() { num = 5; add = 6; } void show() { System.out.println("Fu num="+num+" Fu add="+add); } } class DemoA extends Demo { DemoA() { this.num = 3; this.add = 4; } void show() { S

结构体数组-C++中一个很奇怪的数组

问题描述 C++中一个很奇怪的数组 static const AP_Scheduler::Task scheduler_tasks[] PROGMEM = { { ins_update, 1, 1000 }, { one_hz_print, 50, 1000 }, { five_second_call, 250, 1800 }, }; 注:AP_Scheduler是一个类,Task是这个类的结构体成员,一下是Task的定义: struct Task { task_fn_t function; u

在单片机开发中,我遇到了一个很奇怪的关于外部中断的问题

问题描述 在单片机开发中,我遇到了一个很奇怪的关于外部中断的问题 void button_int0 () interrupt 0 { //当函数正确时,需改正delay(大数目)为delay_stop(大数目); uchar timp; uint i=0; /**** IE=0x80时,程序执行完了,但是没有办法退出中断, 当使用EA=0时,就可以退出中断了.很肯定的是,并没有重复进入中断. *****/ //IE=0x80; EX0=0; EA=0; light =1: timp=P1; ex

代码-一个很奇怪的js不清楚到底是什么意思

问题描述 一个很奇怪的js不清楚到底是什么意思 Q x$=[ 'KKorupo1ikllkwKK', 'KKorupo1ikllkwKK', 'Drzpiq', 'orupoCryl', 'W1a1KmXmXmW', 'W1I1amW1m1Jm', 'AhhhmoitClpjjmuqAhhhmoitClpjjmzkAhhhmoitClpjjmzrTiAhhhmoitClpjjmqklAhhhmoitClpjjmrwtAhhhmoitClpjjmyrAhhhmoitClpjjmlGAhhhmoiG

leetcode-C++程序里面一个很奇怪的bug!跪求解释!!!

问题描述 C++程序里面一个很奇怪的bug!跪求解释!!! 这是我试图求解leetcode 第六题,这不重要,主要看一下程序里面那个if语句的执行 问题,不用看我针对这道题的逻辑对不对,这不是重点,重点是那个if语句!!! 在代码那个(***)的地方我给了注释!!! #include <iostream> #include <string> #include <cstring> using namespace std; int main() { string s; in