Python-批量修改

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb
import traceback

# 测试环境脚本 - 批量填充时间线表中的主账号

# UserCenter: 打开数据库连接
userCenterDB = MySQLdb.connect(host="47.90", port=3306, user="r", passwd="l", db="u", charset='utf8' )
userCenterCursor = userCenterDB.cursor()
# Scrm: 打开数据库连接
scrmDB = MySQLdb.connect(host="47.91", port=3306, user="s", passwd="s", db="s", charset='utf8' )
scrmCursor = scrmDB.cursor()

try:
    # 查询所有用户
    userCenterCursor.execute("SELECT * from tb_user")
    userCenterResults = userCenterCursor.fetchall()
    for row in userCenterResults:
        # 获取主账号
        userId = row[0]
        parentId = row[1]
        mainUserId = "0"
        if parentId == mainUserId:
            mainUserId = userId
        else:
            mainUserId = parentId
        # 更新主账号到SCRM时间线表
        print u"正在更新用户 userId=%s" % (userId)
        timelineUpdateSQL = "update t_contacts_timeline set main_user_id = '%s' where main_user_id is null and user_id='%s'" % (mainUserId, userId)
        try:
            scrmCursor.execute(timelineUpdateSQL)
            scrmDB.commit()
        except Exception, e:
            print u"更新主账号异常! userId=%s, parentId=%s, mainUserId=%s" % (userId, parentId, mainUserId)
            print u"更新主账号到SCRM-发生异常! msg=%s" % traceback.print_exc()
            # scrmCursor.rollback()
            # scrmDB.rollback()

except Exception,e:
    print u"执行发生异常! msg=%s" % traceback.print_exc()
    userCenterResults.rollback()
    userCenterDB.rollback()

# 关闭数据库连接
userCenterCursor.close()
userCenterDB.close()
scrmCursor.close()
scrmDB.close()
print u"执行完成!"

 

posted @ 2018-06-26 09:13  wanhua.wu  阅读(1010)  评论(0编辑  收藏  举报