相关疑难解决方法(0)

你如何让SQLAlchemy在更新CURRENT_TIMESTAMP上覆盖MySQL

我继承了一个较旧的数据库,该数据库设置了一个"on update CURRENT_TIMESTAMP",放在一个只能描述项目创建的字段上.使用PHP我一直在UPDATE子句上使用"timestamp = timestamp",但在SQLAlchemy中我似乎无法强制系统使用设置的时间戳.

我没有选择,需要更新MySQL表(数百万行)?

foo = session.query(f).get(int(1))
ts = foo.timestamp
setattr(foo, 'timestamp', ts)
setattr(foo, 'bar', bar)
www_model.www_Session.commit()
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

foo = session.query(f).get(int(1))
setattr(foo, 'timestamp', foo.timestamp)
setattr(foo, 'bar', bar)
www_model.www_Session.commit()
Run Code Online (Sandbox Code Playgroud)

python mysql sqlalchemy

3
推荐指数
1
解决办法
2377
查看次数

如何使用 SQLAlchemy 在 Postgres 中设置 DEFAULT ON UPDATE CURRENT_TIMESTAMP?

这是How to set DEFAULT ON UPDATE CURRENT_TIMESTAMP in mysql with sqlalchemy? 的姐妹问题?,但专注于 Postgres 而不是 MySQL。

假设我们要创建一个表usersdatemodified其中的一列在更新行时默认更新为当前时间戳。MySQL的姐妹PR中给出的解决方案是:

user = Table(
    "users",
    Metadata,
    Column(
        "datemodified",
        TIMESTAMP,
        server_default=text("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"),
    ),
)
Run Code Online (Sandbox Code Playgroud)

如何使用 Postgres 后端获得相同的功能?

python sql postgresql sqlalchemy

3
推荐指数
1
解决办法
4772
查看次数

标签 统计

python ×2

sqlalchemy ×2

mysql ×1

postgresql ×1

sql ×1