我正在尝试在 golang 中使用命名参数查询,如下所示:
stmt, err := db.Prepare("insert into users(name, email) values(@name, @email)")
if err != nil {
//error handling
}
res, err := stmt.Exec(sql.Named("name", name), sql.Named("email", email))
if err != nil {
//error: sql: expected 0 arguments, got 2
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:“sql:预期 0 个参数,得到 2 个”。
编写此查询的正确方法是什么?
Go 需要支持各种 SQL 服务器 - 并且并非所有 SQL 服务器都支持命名参数。支持它们的服务器有各种怪癖和“陷阱”。但它们都很好地支持位置参数。
但是 mysql-driver 有一个未解决的问题: https://github.com/go-sql-driver/mysql/issues/561
| 归档时间: |
|
| 查看次数: |
9024 次 |
| 最近记录: |