mysql 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.8k
1 个回答
def test(timestamp=datetime.utcnow())
    print timestamp

骚年,我觉得你是遇到了这个坑,默认只会取第一次的值,你可以试试运行上面这个函数,看看输出是不是一样的。
至于怎么解决,个人建议,存入数据库之前,检查一下模型里面有没有时间戳这个字段,有就更新啦

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题