如何 运行 在 sqlx 中纯 sql
How to run pure sql in sqlx
sqlx 扩展了 database/sql
库并具有 Exec|Query
功能 运行 没有参数的纯 sql,但是当我尝试 运行 sqlx.Exec
它说 the sqlx have no Exec function
。如何让 sqlx 运行 没有任何参数的纯 sql 方法?
github.com/jmoiron/sqlx
is a package. Packages do not have methods, they may have functions.
Types may have methods. The sqlx.DB
type is what you're looking for. It embeds the *sql.DB
type which have a DB.Exec()
方法,它被提升并且在类型 *sqlx.DB
的值上也可用。
所以首先你需要一个 *sqlx.DB
值,通过连接到数据库,像这样:
db, err := sqlx.Connect("postgres", "user=foo dbname=bar sslmode=disable")
if err != nil {
log.Fatalln(err)
}
这里db
是类型*sqlx.DB
。那么你可以使用Exec()
方法:
result, err := db.Exec("SELECT * FROM mytable")
sqlx 扩展了 database/sql
库并具有 Exec|Query
功能 运行 没有参数的纯 sql,但是当我尝试 运行 sqlx.Exec
它说 the sqlx have no Exec function
。如何让 sqlx 运行 没有任何参数的纯 sql 方法?
github.com/jmoiron/sqlx
is a package. Packages do not have methods, they may have functions.
Types may have methods. The sqlx.DB
type is what you're looking for. It embeds the *sql.DB
type which have a DB.Exec()
方法,它被提升并且在类型 *sqlx.DB
的值上也可用。
所以首先你需要一个 *sqlx.DB
值,通过连接到数据库,像这样:
db, err := sqlx.Connect("postgres", "user=foo dbname=bar sslmode=disable")
if err != nil {
log.Fatalln(err)
}
这里db
是类型*sqlx.DB
。那么你可以使用Exec()
方法:
result, err := db.Exec("SELECT * FROM mytable")