Get-Errors将错误的SQL语句打印到stdout-python



使用以下命令,我运行一个python脚本,该脚本将SQL插入语句打印到stdout:xzcat ../file.txt|grep –i ‘some text’|python3.7 pythonscriptname|mysql –h host –u username –ppassword databasename

如果打印语法错误的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语句运行代码时,此代码不会捕获任何错误。有人知道如何捕捉错误吗?

通过管道将xzcat连接到python再连接到mysql

这个链中唯一会看到SQL查询执行结果的进程是mysql客户端。

如果您希望mysql输出返回到python中,请考虑从python脚本内部调用mysql。为此,请使用subprocess模块。

最新更新