donglue8180 2016-10-11 23:53
浏览 466
已采纳

将RFC3339时间存储在MySQL数据库中时,最佳实践是什么?

I have data in a Google Cloud Datastore NoSQL database. The objects in this database contain fields of type Time.time, specifically RFC3339 format (YYYY-MM-DDThh:mm:ssTZD). I am moving some of this data into a Google Cloud SQL database and I am wondering what is considered best practice when storing RFC3339 formatted time data in a MySQL database.

This post strongly suggests the following:

All date and time columns shall be INT UNSIGNED NOT NULL, and shall store a Unix timestamp in UTC.

So, should I just make use of Golang's func (t Time) Unix() and store the data that way? What are some alternative approaches to storing the data? What kinds of issues might I run into if I don't heed the poster's advice?

  • 写回答

1条回答 默认 最新

  • dtv7174 2016-10-12 03:55
    关注

    If you're using the go-sql-driver/mysql you can ask the driver to scan DATE and DATETIME automatically to time.Time, by adding parseTime=true to your connection string.

    See https://github.com/go-sql-driver/mysql#timetime-support

    Example code:

    db, _ := sql.Open("mysql", "root:@/?parseTime=true")
    
    var myTime time.Time
    row, err := db.QueryRow("SELECT current_timestamp()")
    
    row.Scan(&myTime)
    fmt.Println(myTime)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 asp.textbox后台赋值前端不能显示什么原因
  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误