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

  • 问题描述

    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包含两个过程:

    1. 创建表
    2. 存入数据。

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

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

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

发布了857 篇原创文章 · 获赞 1291 · 访问量 92万+

猜你喜欢

转载自blog.csdn.net/The_Time_Runner/article/details/105446518