我使用slqalchemy作为orm操作mysql,timestamp列设置默认值为datetime.utcnow()。按时间查询内容的时候发现timestamp行的值不是自动变化的,比如我在2016.06.06 10:40:30秒插入一新行,然后在10:42分钟再次增加新行时,timestamp的值还是2016.06.06 10:40:30,时间比较接近的操作时timestamp的值都是一样的,间隔一两个小时再操作时timestamp的值就是正常的。这是为什么?
我使用slqalchemy作为orm操作mysql,timestamp列设置默认值为datetime.utcnow()。按时间查询内容的时候发现timestamp行的值不是自动变化的,比如我在2016.06.06 10:40:30秒插入一新行,然后在10:42分钟再次增加新行时,timestamp的值还是2016.06.06 10:40:30,时间比较接近的操作时timestamp的值都是一样的,间隔一两个小时再操作时timestamp的值就是正常的。这是为什么?
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
8 回答1.3k 阅读
3 回答1.2k 阅读✓ 已解决
骚年,我觉得你是遇到了这个坑,默认只会取第一次的值,你可以试试运行上面这个函数,看看输出是不是一样的。
至于怎么解决,个人建议,存入数据库之前,检查一下模型里面有没有时间戳这个字段,有就更新啦