Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当数据库中存在行时引发异常_Python_Mysql_Pandas_Try Catch - Fatal编程技术网

Python 当数据库中存在行时引发异常

Python 当数据库中存在行时引发异常,python,mysql,pandas,try-catch,Python,Mysql,Pandas,Try Catch,我想在数据库df中插入所有数据帧。如果有重复的行。我想在另一个日志表中插入此行的一些元素。 有人知道怎么做吗? 我尝试了下面的代码:我没有成功捕获错误 #当我创建数据库df时,我将一个唯一键(element1,element2)放在我的数据帧中,因此如果我有两行,其中(element1在行i=element1行i+1)和(element2在行i=element2行i+1)被认为是重复的。 尝试: to_sql(con=cnx,name='df',如果_存在='append',index=Fals

我想在数据库df中插入所有数据帧。如果有重复的行。我想在另一个日志表中插入此行的一些元素。 有人知道怎么做吗? 我尝试了下面的代码:我没有成功捕获错误

#当我创建数据库df时,我将一个唯一键(element1,element2)放在我的数据帧中,因此如果我有两行,其中(element1在行i=element1行i+1)和(element2在行i=element2行i+1)被认为是重复的。
尝试:
to_sql(con=cnx,name='df',如果_存在='append',index=False)
除了mysql.connector.Error作为错误外:
日志=[df[0],df[1],'INSERT','FAIl',str(err)]
cursor.execute(
“将忽略插入日志表(id、元素、操作、消息)值(%s,%s,%s,%s)”,
(日志)

根据,
df.to\u sql
似乎会引发
ValueError
。仅当
存在时(='fail'
或默认值)。但是你设置了标志
,如果你存在class='append'
,那么我认为错误永远不会发生。@BoseongChoi感谢你的回复。但是这个参数引用了这个表。我想对现有的表进行aan追加。错误是当行存在时,我得到它。您可以先使用
“异常除外”
,然后找出发生的异常类型。原始帖子编辑:请看一看