我正在用sqlacalchemy创建表。

user = Table('users', Metadata,
Column('datecreated', TIMESTAMP,
            server_default=text('CURRENT_TIMESTAMP')),
Column('datemodified', TIMESTAMP,
               server_onupdate=text('CURRENT_TIMESTAMP')),
)

但这不会在更新当前时间戳时设置默认值。
我检查了这个链接,
How do you get SQLAlchemy to override MySQL "on update CURRENT_TIMESTAMP"但对于文本,我需要将其连接到创建表定义中。
THX提前)

最佳答案

如果您使用的是MySQL5.6或更高版本,请向下滚动查看相关答案。旧版本的用户,请阅读此版本。
直到MySQL5.6。在一个表中,只能有一个“自动”时间戳列。
发件人:http://dev.mysql.com/doc/refman/5.5/en/timestamp.html
对于表中的一个时间戳列,可以指定当前
时间戳作为默认值和自动更新值。它是
可以将当前时间戳作为
为自动更新值或同时为两者初始化列。它不是
可以将当前时间戳作为
列和另一列的自动更新值。

关于mysql - 如何使用sqlalchemy在mysql中设置DEFAULT ON UPDATE CURRENT_TIMESTAMP?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6992321/

10-12 13:25