(20200407已解决)(pymysql.err.InternalError) (1050, "Table 'table_name' already exists")

Michelle ·
更新时间:2024-11-14
· 639 次阅读

问题描述

pd.io.sql.to_sql存入数据时,出现如题错误。

在使用pd.io.sql.to_sql之前,table_name已经建好,初次调用pd.io.sql.to_sql会报错,二次及以后调用pd.io.sql.to_sql并不会再报错。

解决方案

仔细查看过程,会发现第一次调用pd.io.sql.to_sql包含两个过程:

创建表 存入数据。

这里涉及到数据库连接的先后顺序问题。

pd.io.sql.to_sql所使用的连接是在创建表之前建立的,因此它不知道数据库中已经有表table_name了,所以pd.io.sql.to_sql先创建表,创建过程中发现与已有表重复就出现了如题问题。

可以在使用pd.io.sql.to_sql之前,重新刷新一下所用的conn,就能解决这个问题,准确说是在另一个创建表的程序创建完成之后就刷新一下pd.io.sql.to_sql所需要用到的conn


作者:Quant_Learner



pymysql exists table

需要 登录 后方可回复, 如果你还没有账号请 注册新账号