【问题标题】:Python: df.to_sql with OperationalError 1046, 'No database selected and OperationalError 2005, "Unknown MySQL server hosPython: df.to_sql with OperationalError 1046, 'No database selected and OperationalError 2005, "Unknown MySQL server hos
【发布时间】:2016-09-24 15:43:02
【问题描述】:

我想从我当前的数据库更改为另一个 MySQL 数据库(从 backand)。所以,我想这与我设置数据库设置的方式有关。

engine = create_engine('mysql+mysqldb://user:pw@backands146367311ktcttuv7')
df_2.to_sql(name='KLSE', con=engine, if_exists='replace')

返回这个错误

OperationalError: (_mysql_exceptions.OperationalError) (2005, "Unknown MySQL server host 'backands146367311ktcttuv7' (0)")

当我使用其他设置时,

engine = create_engine('mysql+mysqldb://user:pw@bk-prod-us1.cd2junihlkms.us-east-1.rds.amazonaws.com:3306')
df_2.to_sql(name='KLSE', con=engine, if_exists='replace')

返回这个错误

OperationalError: (_mysql_exceptions.OperationalError) (1046, 'No database selected') [SQL: 'DESCRIBE `KLSE`']

下面是提供的MySQL数据库信息

  Database Type:
    mysql
    Endpoint:
    bk-prod-us1.cd2junihlkms.us-east-1.rds.amazonaws.com:3306
    Database name:
    backands146367311ktcttuv7

【问题讨论】:

    标签: mysql python-2.7 pandas sqlalchemy backand


    【解决方案1】:

    尝试在您的数据库 URL 中指定端口号后的数据库名称,如下所示:

    engine = create_engine('mysql+mysqldb://user:pw@bk-prod-us1.cd2junihlkms.us-east-1.rds.amazonaws.com:3306/backands146367311ktcttuv7'
    

    【讨论】:

    • 虽然我建表后没有报错,但是当我在backand.com中搜索数据库时,它说创建的表有错误,因为没有主键。我曾经在 db4free.net 中创建相同的数据库,但没有问题。我不明白为什么?
    • 我正在使用 sqlalchemy 假设自动添加主键
    猜你喜欢
    • 1970-01-01
    • 2020-02-03
    • 2013-05-04
    • 2012-12-19
    • 2016-08-12
    • 2019-04-25
    • 2016-10-28
    • 2021-08-25
    • 1970-01-01
    相关资源
    最近更新 更多