Python 当数据库中存在行时引发异常
我想在数据库df中插入所有数据帧。如果有重复的行。我想在另一个日志表中插入此行的一些元素。 有人知道怎么做吗? 我尝试了下面的代码:我没有成功捕获错误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时,我将一个唯一键(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追加。错误是当行存在时,我得到它。您可以先使用“异常除外”
,然后找出发生的异常类型。原始帖子编辑:请看一看