我创建了一个要点(https://gist.github.com/carbocation/51b55297702c7d30d3ef),它显示了解决此问题的一种方法。您需要为
schema.Converter以下四种类型的每一种创建一个:sql.NullString,sql.NullBool,sql.NullInt64和sql.NullFloat64。
sql.NullString的示例:
import "database/sql"import "reflect"func ConvertSQLNullString(value string) reflect.Value { v := sql.NullString{} if err := v.Scan(value); err != nil { return reflect.Value{} } return reflect.ValueOf(v)}然后使用您的
*schema.Deprer(通常是全局软件包,在本例中为
d)注册此文件:
import "database/sql"nullString := sql.NullString{}d.RegisterConverter(nullString, ConvertSQLNullString)


