Get Errors输出错误的SQL语句到stdout python

问题描述 投票:0回答:1

[使用以下命令,我运行一个python脚本,该脚本将一条SQL插入语句输出到stdout:xzcat ../file.txt|grep –i'某些文本'| python3.7 pythonscriptname | mysql –h主机–u用户名–ppassword数据库名称

如果我使用错误的语法或例如不存在的表打印SQL语句,我想捕获错误。我不想使用mysql.connector或mysqldb插入数据或捕获错误,因为将插入语句打印到stdout更快。

我必须输入以下代码:

try: 
     sql="INSERT IGNORE INTO "+str(wrongtabelname)+" VALUES"+values+";"                          
     print(sql)
except: (SQLError, Exception, NameError,IndexError, TypeError, ValueError,ProgrammingError, Attrib
uteError, KeyError, BrokenPipeError,IOError, OSError, ConnectionAbortedError, ConnectionRefusedError, ConnectionError) as
 e:

使用错误的SQL语句运行代码时,此代码不会捕获任何错误。有谁知道如何捕捉错误?

python mysql error-handling stdout
1个回答
0
投票

您将xzcat传送到pythonmysql

此链中唯一可以看到SQL查询执行结果的进程是mysql客户端。

[如果要将mysql输出返回到python,请考虑从python脚本内部调用mysql。为此,请使用subprocess模块。

© www.soinside.com 2019 - 2024. All rights reserved.