Desidero essere in grado di scrivere una matrice di bigin in una tabella che sto utilizzando per la cronologia in Go. Purtroppo, non posso e quando faccio l'errore sql: converting Exec argument #1's type: unsupported type []int64, a slice
viene lanciato. Ecco quello che sto facendo, a cura per brevità:Inserimento di un array in un database Postgresql in Golang
type Card struct {
cid int64
}
type Transaction struct {
tid, cardid int64
productids []int64
salepoint int
cardkey string
}
func logPurchase(card *Card, t *Transaction) {
_, err := db.Exec("INSERT INTO history VALUES ($1, $2, $3, $4)", rand.Int63(), t.productids, card.cid, t.salepoint);
}
Questa è la struttura della tabella che desidero inserire in: tid bigint primary key, productids bigint[] not null, cardid bigint not null, salepoint int
sembra che tu abbia un valore in più nella tua lista valori. – jmaloney
Buona presa, non sono sicuro di come sono riuscito a metterlo lì. Quel problema non esiste all'interno del codice sorgente in cui sto avendo questo problema. Aggiornato di conseguenza la domanda. – ShrekTheDinosaur
I tipi di array sono specifici per Postgresql. Potrebbe essere necessario utilizzare una libreria su misura per postgresql, come ad esempio: https://github.com/go-pg/pg – dyoo