python小程序-表中查询一个字段,该字段是个sql1,需要循环验证表1中的每一个sql1执行是否报错,报错则打印表中的序号和sql

1、需求

表中查询一个字段,该字段是个sql1,需要循环验证表1中的每一个sql1执行是否报错,报错则打印表中的序号和sql

2、步骤

1、查询得到这个sql

2、获取这个sql并执行

3、抛出异常

3、代码

import sys
import pymysql

mysqlHost = "XXXXXXXXXX"
mysqlPort = XXXXXXXXXX
mysqlUser = "XXXXXXXXXX"
mysqlPwd = "XXXXXXXXXX"
mysqlSchema = "XXXXXXXXXX"

db = pymysql.connect(host = mysqlHost,port = mysqlPort,user = mysqlUser,passwd = mysqlPwd,db = mysqlSchema,charset = 'utf8');

querySql = """SELECT sql字段,字段 FROM 表
          """
querySqlCursor = db.cursor()
querySqlCursor.execute(querySql)
querySqlResult = querySqlCursor.fetchall()
SqlCursor = db.cursor()
# 踩过两个坑,第一个是sql获取的是元祖,所以即使只有一个字段也要索引sql[0]
# 踩的第二坑就是sql中有换行,所以要替换为空格
for sql in querySqlResult:
    try:
        sql[0].replace('
	',' ')
        SqlCursor.execute(sql[0])
        SqlResult = SqlCursor.fetchall()
        # print(SqlResult)
    except Exception as e:
        print("error %s" % e)
        print (sql)
db.close()
原文地址:https://www.cnblogs.com/shishibuwan/p/15507567.html