1. 程式人生 > 其它 >python小程式-表中查詢一個欄位,該欄位是個sql1,需要迴圈驗證表1中的每一個sql1執行是否報錯,報錯則打印表中的序號和sql

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(
'\r\n\t',' ') SqlCursor.execute(sql[0]) SqlResult = SqlCursor.fetchall() # print(SqlResult) except Exception as e: print("error %s" % e) print (sql) db.close()