Python+;sqlalchemy:如何在数据库端处理timedelta?

Python+;sqlalchemy:如何在数据库端处理timedelta?,python,sqlalchemy,func,timedelta,Python,Sqlalchemy,Func,Timedelta,使用Python编码,我希望在数据库端插入处理的时间,如下所示: time = func.now()-datetime.timedelta(days=100) 或 但不知怎的,它无法通过,看到警告: sqlalchemy\engine\default.py:330: Warning: Truncated incorrect DOUBLE value: '1970-01-04 00:00:00' 有没有办法弄清楚?谢谢 ================================ 我想更新

使用Python编码,我希望在数据库端插入处理的时间,如下所示:

time = func.now()-datetime.timedelta(days=100)

但不知怎的,它无法通过,看到警告:

sqlalchemy\engine\default.py:330: Warning: Truncated incorrect DOUBLE value: '1970-01-04 00:00:00'
有没有办法弄清楚?谢谢

================================

我想更新表“Purchase”中的时间戳列“date\u buy”,而不是使用datetime.datetime.now()来获取python中的更新时间,我想在数据库中完成此操作,这意味着我更喜欢func.now():

=================================

解决了。感谢布莱恩和他的帖子: 警告是

警告:截断了不正确的双精度值:“1970-01-04 00:00:00”

意味着它将截断您的数据。请检查要在其中存储时间对象的字段类型它表示您正试图用datetime值存储双值。


如果这不能解决问题,那么只需给出一些代码示例,这样我们就能知道您将要做什么。

请查看编辑后的文章。我不确定这是否是将该字段上的操作留给MySQL而不是python的正确方法。谢谢你买什么类型的日期?请提供Purchase的类。CURRENTTIMESTAMP是双精度值,您正在尝试从CURRENTTIMESTAMP减去datetime。只需使用相同类型的操作数即可执行该操作。您可以使用
converttimestamp(func.now()-datetime.timedelta(days=100))
如果找到了解决方案,请接受答案以结束问题。请执行此操作以完成系统的工作流。
sqlalchemy\engine\default.py:330: Warning: Truncated incorrect DOUBLE value: '1970-01-04 00:00:00'
time = func.current_timestamp()-datetime.timedelta(days=100)
# time = datetime.datetime.now()-datetime.timedelta(days=100)
session.execute(update(Purchase).values(date_buy=time).where(Purchase.c.id == 11))