MySQL更新不会更新

时间:2016-03-22 09:32:40

标签: python mysql

我有一个问题,即更新mysql部分有时不会更新值,它似乎是随机的,我无法找到它的原因。它需要带有键值的MYSQL条目" TRANSFER"并且schould将相同的键值设置为" EXECUTED"。有时我有20个工作正常,有时我有10个进程,有一半没有更新。

try:
    db = MySQLdb.connect(
        host='localhost',
        user='root',
        passwd='pw',
        db='db',
    )
    db.autocommit(True)

except Exception as e:
    sys.exit("Can't connect to db")

cur = db.cursor()
setstatus = "EXECUTED"
for fn in os.listdir('.'):
     if os.path.isfile(fn):
        UUID = fn.replace(".ac", "")
        try:
            cur.execute("""
                UPDATE olorequest
                SET status = %s
                WHERE UUID = %s
            """, (setstatus, UUID))
        except Exception as e:
            raise IOError(e)
        ftp.storlines('STOR ' + fn, open(fn, 'r+'))
        try:
            shutil.move(fn, executed_ac_files)
        except Exception as e:
            shutil.move(fn, error_files)
            raise IOError(e)
        time.sleep(5)

1 个答案:

答案 0 :(得分:1)

基本上,UPDATE请求中未更新行的原因是不满足WHERE子句的谓词。另外,当您通过程序执行此操作时,还要检查其逻辑及其可靠性。