在 Go 中,你可以使用 time.Time 类型来接收 MySQL 数据库中的 timestamp 类型。你可以使用 Go 自带的 database/sql 包来执行 SQL 查询,然后用 Scan 方法将查询结果的 timestamp 列值赋值给 time.Time 类型的变量。
例如,假设你的 MySQL 数据库中有一个名为 users
的表,其中有一个名为 created_at
的 timestamp 列,你可以这样做:
package main
import ("database/sql"
"fmt"
"time"
_ "github.com/go-sql-driver/mysql"
)
func main() {
db, err := sql.Open("mysql", "user:password@/dbname")
if err != nil {
fmt.Println(err)
return
}
defer db.Close()
// 执行查询
var createdAt time.Time
err = db.QueryRow("SELECT created_at FROM users WHERE id = ?", 1).Scan(&createdAt)
if err != nil {
fmt.Println(err)
return
}
// 输出查询结果
fmt.Println(createdAt)
}
在上面的代码中,我们用了 database/sql
包来打开一个 MySQL 数据库连接,然后用 db.QueryRow
方法执行了一个 SQL 查询,并用 Scan
方法将查询结果的 created_at
列值赋值给了 time.Time
类型的 createdAt
变量。你就可以使用 time.Time
类型的常用方法来获取或修改时间值了。