无法从 sqlalchemy 插入到 mysql

Posted

技术标签:

【中文标题】无法从 sqlalchemy 插入到 mysql【英文标题】:Unable to insert from sqlalchemy to mysql 【发布时间】:2018-01-03 23:14:17 【问题描述】:

我正在尝试使用 sql alchemy 在 mysql db 的表中插入一行,但是当我插入并转到数据库检查数据时,我什么也看不到。

这是我的代码:

从 sqlalchemy 导入 create_engine 从 sqlalchemy 导入表,元数据 从 sqlalchemy.sql 导入表、列、选择、更新、插入 从 sqlalchemy.orm 导入 sessionmaker

engine = create_engine(
      "mysql://user:password@host/schema")
connection = engine.connect()

metadata = MetaData(bind=engine)
prices = Table('historical_prices', metadata, autoload=True)
i = insert(prices)
i = i.values(
    "date": my_date, 
    "instrument": msg['instrument'],
    "open": msg['candles'][0]['openAsk'],
    "high": msg['candles'][0]['highAsk'],
    "low": msg['candles'][0]['lowAsk'],
    "close": msg['candles'][0]['closeAsk'],
    "volume": msg['candles'][0]['volume']
    )
Session = sessionmaker(bind=engine)
session = Session()
session.execute(i)

我没有收到来自此代码的错误消息。 我该如何解决这个问题?

【问题讨论】:

我不知道是不是因为你遗漏了它,但你错过了session.commit() @univerio 谢谢!这解决了这个问题。你愿意回答这个问题吗?所以我可以接受。 【参考方案1】:

由于提出正确答案的原始人尚未发布正确答案。 我将继续这样做。

我不知道是不是因为你遗漏了它,但你错过了一个 session.commit()

希望这个答案对于有同样问题的下一个人来说会更明显。

【讨论】:

以上是关于无法从 sqlalchemy 插入到 mysql的主要内容,如果未能解决你的问题,请参考以下文章

使用Flask SQLAlchemy从SQLite切换到MySQL

通过 sqlalchemy 映射类在 MySQL JSON 字段中插入键而不进行查询

Flask SQLAlchemy 无法插入相同的数据

如何使用 SQLAlchemy from_select 插入到选择中?

使用 SQLAlchemy 和 Pandas 插入数据 - Python

Python Flask SQLAlchemy 容器无法连接到 MySQL 容器