我創建了這樣的表:CREATE TABLE MyTable( id uuid, Test BOOLEAN NOT NULL, end_date TIMESTAMP NULL DEFAULT NULL, PRIMARY KEY (id));我的結構type Issue struct { ID uuid.UUID Test bool EndDate time.Time `db:"due_date"`}現在的情況是有一些日期沒有在實時數據庫中,所以現在我查詢得到我得到這個錯誤EndDateall dataERROR: sql: Scan error on column index 11, name "i.end_date": unsupported Scan, storing driver.Value type <nil> into type *time.Time我不知道問題在哪里。更新如果我使用sql。NullTime,然后我做了一個像這樣的反擊模式return &model.Issue{ AssetOwnerID: id, DueDate : time.Now().UTC().Truncate(time.Second) } 我收到此錯誤 Cannot use 'time.Now().UTC().Truncate(time.Second)' (type Time) as type sql.NullTime
1 回答

www說
TA貢獻1775條經驗 獲得超8個贊
您可以使用 sql。NullTime 類型,例如:
import (
"database/sql"
)
type Issue struct {
ID uuid.UUID
Test bool
EndDate sql.NullTime `db:"due_date"`
}
然后,您可以使用以下示例:
讀取操作:
if i.EndDate.Valid {
fmt.Println(i.EndDate.Time.Unix())
} else {
fmt.Println("nil endDate")
}
寫入操作:
i.EndTime.Valid = true
i.EndTime.Time = time.Unix(iEndTime, 0)
更新:
您可以將結構創建為:
return &model.Issue{
AssetOwnerID: id,
DueDate: sql.NullTime{
Time: time.Now().UTC().Truncate(time.Second),
Valid: true,
}
- 1 回答
- 0 關注
- 186 瀏覽
添加回答
舉報
0/150
提交
取消