【问题标题】:Unable to insert from sqlalchemy to mysql无法从 sqlalchemy 插入到 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 谢谢!这解决了这个问题。你愿意回答这个问题吗?所以我可以接受。

标签: python sqlalchemy


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-30
    • 2017-05-31
    相关资源
    最近更新 更多