Imbas pasangan: []uint8 -> *time.Time" ralat? " /> Imbas pasangan: []uint8 -> *time.Time" ralat? " />
Apabila bekerja dengan pangkalan data, adalah perkara biasa untuk menghadapi ralat semasa cuba mendapatkan data. Dalam kes khusus ini, mesej ralat "tidak disokong pemandu -> Pasangan imbasan: []uint8 -> *time.Time" menunjukkan bahawa pemacu pangkalan data tidak dapat menukar data yang diambil secara automatik (dalam kes ini, tatasusunan bait) kepada masa. Nilai masa.
Untuk membetulkan isu ini, seseorang boleh menggunakan parseTime parameter dalam rentetan sambungan. Menetapkan parseTime=true mengarahkan pemandu untuk menghuraikan nilai DATE dan DATETIME MySQL secara automatik ke dalam objek masa.
Contoh:
db, err := sql.Open("mysql", "root:@/?parseTime=true")
Dengan mendayakan parseTime, pemandu akan menukar nilai masa dengan lancar, membenarkan penetapan terus kepada masa. Pembolehubah masa.
Contoh dengan Pernyataan SQL:
var myTime time.Time rows, err := db.Query("SELECT current_timestamp()")
Nota: Pendekatan ini berfungsi dengan current_timestamp tetapi bukan current_time Jika anda memerlukan penghuraian data semasa_masa, anda perlu melaksanakan mekanisme penghuraian tersuai.
Penghuraian Tersuai:
type rawTime []byte func (t rawTime) Time() (time.Time, error) { return time.Parse("15:04:05", string(t)) }
var myTime rawTime rows, err := db.Query("SELECT current_time()")
fmt.Println(myTime.Time())
Atas ialah kandungan terperinci Cara Menghuraikan Masa daripada Pangkalan Data: Mengapakah saya mendapat ralat 'pemacu tidak disokong -> Pasangan imbasan: []uint8 -> *masa.Masa'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!