【问题标题】:How to run pure sql in sqlx [closed]如何在 sqlx 中运行纯 sql [关闭]
【发布时间】:2021-12-24 14:56:51
【问题描述】:

sqlx 扩展了database/sql 库并具有Exec|Query 函数来运行没有参数的纯sql,但是当我尝试运行sqlx.Exec 时它说the sqlx have no Exec function。如何让sqlx不带任何参数运行纯sql方法?

【问题讨论】:

  • 为了能够使用标准库中的Exec/ExecContext,您需要一个sqlx.DB、或sqlx.Conn、或sqlx.Txsqlx.Stmt的实例。 sqlx 包本身并没有实现和导出Exec 函数,这就是为什么尝试调用sqlx.Exec 无效并且将无法编译的原因。
  • 当您从某些代码中收到错误时,在您的问题中包含导致错误的代码会很有帮助。

标签: sql go sqlx


【解决方案1】:

github.com/jmoiron/sqlxpackage。包没有methods,它们可能有functions

Types 可能有方法。 sqlx.DB 类型是您正在寻找的。它嵌入了*sql.DB 类型,该类型具有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")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    相关资源
    最近更新 更多