gpt4 book ai didi

python - 使用 SqlAlchemy 插入 MySQL 时间戳列值

转载 作者:太空狗 更新时间:2023-10-29 22:03:39 24 4
gpt4 key购买 nike

我有一个 sqlalchemy 类映射到 MySQL innoDB 中的数据库表。该表有几列,我能够成功地填充它们,除了 TIMESTAMP 列:

映射:

class HarvestSources(Base):
__table__ = Table('harvested', metadata, autoload=True)

MySQL 上的列是一个 TIMESTAMP,默认值为 CURRENT_TIMESTAMP,但是当我插入一行时,它被填充为 NULL。

如果默认设置不起作用,那么我需要手动设置时间戳,我该怎么做。

向表中插入行的 SqlAlchemy 代码:

source = HarvestSources()
source.url = url
source.raw_data = data
source.date = ?

DB.session.add(source)
DB.session.commit()

最佳答案

datetime 对象被转换为时间戳,所以你可以使用:

from datetime import datetime
...
source.date = datetime.now()

datetime.utcnow() 如果你想使用 utc 保存它。默认值 (CURRENT_TIMESTAMP) 使用本地时区,因此 datetime.now() 更接近于此 - 但它几乎总是更适合以 UTC 格式存储时间相关数据,并且仅在向用户显示数据时进行时区转换。

关于python - 使用 SqlAlchemy 插入 MySQL 时间戳列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17819584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com