Imbas pasangan: []uint8 -> *time.Time" Ralat Semasa Mendapatkan Data Masa daripada MySQL di Golang? " /> Pasangan imbasan: []uint8 -> *time.Time" Ralat Semasa Mendapatkan Data Masa daripada MySQL di Golang? " />
Apabila cuba mendapatkan semula data masa daripada pangkalan data MySQL menggunakan Golang, anda mungkin menghadapi ralat yang serupa dengan yang berikut:
unsupported driver -> Scan pair: []uint8 -> *time.Time
Ralat ini timbul kerana kelakuan lalai pemacu Go SQL tidak menghuraikan medan DATE atau DATETIME secara automatik daripada MySQL ke dalam masa Pergi. taip.
Untuk menyelesaikan isu ini, anda boleh mendayakan penghuraian automatik dengan menambahkan parseTime=true pada rentetan sambungan pangkalan data anda.
db, err := sql.Open("mysql", "root:@/?parseTime=true")
Dengan tetapan ini, pemandu akan secara automatik menukar nilai DATE dan DATETIME kepada masa. Objek masa.
Jika anda menghadapi keperluan penghuraian khusus, anda boleh memilih penghuraian tersuai Untuk melakukan ini:
Tentukan jenis tersuai yang membalut []bait dan. termasuk kaedah Time() untuk menghurai.
type rawTime []byte func (t rawTime) Time() (time.Time, error) { return time.Parse("15:04:05", string(t)) }
Gunakan jenis tersuai anda dalam kod imbasan anda untuk menghuraikan nilai masa secara manual.
var myTime rawTime rows, err := db.Query("SELECT current_time()") if rows.Next() { if err = rows.Scan(&myTime); err != nil { panic(err) } } fmt.Println(myTime.Time())
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan 'pemandu tidak disokong -> Pasangan imbasan: []uint8 -> *time.Time' Ralat Semasa Mendapatkan Data Masa daripada MySQL di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!