Mysql 如何预处理使用sqlx获取的行?
考虑以下示例:Mysql 如何预处理使用sqlx获取的行?,mysql,go,sqlx,Mysql,Go,Sqlx,考虑以下示例: package main import ( "fmt" "github.com/jmoiron/sqlx" _ "github.com/go-sql-driver/mysql" ) type Data struct { Stuff string } func main() { db, _ := sqlx.Connect("mysql", "root:root@(localhost:3306)/data") var datas
package main
import (
"fmt"
"github.com/jmoiron/sqlx"
_ "github.com/go-sql-driver/mysql"
)
type Data struct {
Stuff string
}
func main() {
db, _ := sqlx.Connect("mysql", "root:root@(localhost:3306)/data")
var datas []Data
db.Select(&datas, "select 'a,b' stuff from data limit 10")
fmt.Println(datas)
}
我想做的是将
东西
作为[]字符串
,它将被,
拆分。我想我可以添加一个额外的[]字符串
字段,并循环填充此字段的结果并删除源数据,但这似乎效率低下。在sqlx
中实现这一点的规范方法是什么?虽然这不受支持,但您可以创建实现Scanner interface()的自定义结构:
并使用此结构而不是字符串:
type Data struct {
Stuff StringList
}
Offtopic:SQL表和结果集按定义是无序的,不使用orderby
。。使用limit 10
从表中获取“前10条”记录是确定的(随机的)。这些“前10条”记录可能是表中的任意记录,这里需要注意。
type Data struct {
Stuff StringList
}