问题标签 [sqlx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 从非sql查询获取结果集
如何使用 golang 从非标准 MySQL“show”语句中检索数据集?例如,“显示表”、“显示变量”、“显示引擎 innodb 状态”。等等
我找不到任何信息来从 Golang 中的 mysql“show”语句中检索结果集。使用 database/sql 包或 sqlx 包都可以。
sql - sql:预期 0 个参数,得到 2 个
我正在努力正确利用Postgressqlx
的pq
驱动程序来在数据库中创建一行。让我们从简单的开始:
我有一个user
,role
和user_role
表。我想在数据库中插入一个角色并获取插入行的 ID。使用以下 sql 可以完美地工作:
const createRoleSQL = "INSERT INTO role (name) VALUES (:name) RETURNING id"
为了使这项工作顺利进行,我在某个时候准备了声明:
创建时,我将查询作为事务的一部分运行tx
。role
显然是具有正确字段和db
标签的结构:
这工作得很好。
现在我想扩展它并插入一个新角色并将其分配给用户:
不幸的是,这失败了sql: expected 0 arguments, got 2
。是否可以通过单个查询来实现我想要做的事情?
go - 初始化连接到数据库时 SQLX 中未定义的“错误”
我是 Go lang 的新手,并尝试连接到服务器并在 API 调用时创建数据库。
但我在sqlx.Connect
. 最初我以为是因为我没有定义db *sqlx.DB
. 但它仍然在db, err = sqlx.Connect("mysql", connection)
.
有必要定义一个var err
吗?
谢谢!
kubernetes - Goroutine 在每个请求(sqlx)和代码后打开一个新的数据库连接
让我们考虑以下 goroutine:
和功能:
每次函数在股票代码上迭代时,它都会打开一个 cloudSQL 连接
我不知道为什么每次都会打开一个新连接,因为 sqlx.Connect 不在 for 循环中。
postgresql - 使用 go 的 sqlx 在 postgres 表中插入记录并自动生成 ID
我sqlx
用来创建一个go
api。
我想在名为day
.
对应的go
结构如下
在 Day 创建的端点中,将接收除ID
通过 post 请求之外的所有字段
我应该使用什么方法与我的数据库进行交互,以便:
a) 创建记录
b)不需要通过ID
自己并指示postgres
自动生成字段。
建表语句如下:
postgresql - 使用 sqlx 批量插入
我正在尝试使用 sqlx 和 golang 进行批量插入:
该代码有效,但速度很慢。
我试过这个:
但是当我查看我的记录时它什么也没做,我没有看到任何记录。
问候
编辑 :
go - 使用 Go/SQLX 找不到存在的 Struct 属性
我正在从文件上传中收集元数据,并插入到数据库表中。结构是这样的:
这是我如何填充对结构的引用:
我的问题是,当我尝试将此 struct ref 插入我的数据库时,我收到一条错误消息:
在 &processor.MetaData{Owner:"Fake Name", FileRows:1499, FileSize:"308.9 kB", FileName:"small-file.csv", FileUuid:"1234567890qwerty", LastUpdated:"30 Jan 20 21:13 +0000"}
现在,正如我们可以清楚地看到的那样,Owner
它存在于结构中并且它具有一个值,其他的也是如此。我不确定查询分配是否在第一次查找时失败并在panic
那里,但我无法通过这个来查看其他人是否也失败了。这是我sqlx
NamedExec
的,因为我的 Struct 引用或绑定可能有问题?
我希望这是一个简单的修复,边界错字。
go - 多次插入不正确的参数
我正在尝试从 CSV 向我的数据库中进行批量插入,并且可以插入单行,但显然批量插入会快得多。构建大规模查询很麻烦,所以我使用了https://godoc.org/github.com/huandu/go-sqlbuilder#InsertBuilder,它似乎正确地构建了查询和参数。
查询生成器和循环:
这个查询的输出是这样的(修剪,但看起来正确)
插入表名(第 1-23 列)值(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? , ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? , ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? , ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ), ...
而且我什至不会发布 args,因为它是 34k 切片。
现在我们可以看到,所有准备好的语句?
都在那里,那么为什么 sqlx 返回这个错误:
2020/02/14 02:18:22 sql:预期 23 个参数,得到 34477
它似乎只将第一批插入视为准备好的语句,而忽略了其余的。
go - 将请求正文插入数据库
我正在使用 Go、SQLX、postgres 和 go-swagger 开发一个 API。
在 POST 方法处理程序中,我得到一个由 swagger 定义和验证的类型的请求正文。验证后,我想将其插入到 postgres 表中。
除了以下片段外,我没有找到太多关于该主题的文档:
这意味着我需要描述我想要保留的结构的每个字段。
有没有一种方法可以将结构保存在表中?
go - 如何将 nil/null 参数传递给存储函数?
服务器接收一个带有参数的GET
请求territory_id
。nil
如果用户不需要按地区过滤,则此参数可以是,integer
如果用户只想获取特定地区的记录,则可以有一个数字。
代码:
postgresql中的存储过程是这样设计的,如果territory_in
是ISNULL
,那么这个参数的过滤器就不起作用,否则,如果territory_in
等于5,比如territory字段的值为5的地方取记录。
以及如何在服务器端实现这一点?如果我放入territory_id = nil
邮递员,我会得到:
ERROR: invalid input syntax for integer: "nil"
如果为空,则:
ERROR: invalid input syntax for integer: "null".
也territroyID
不能相等nil
。如何根据用户请求将 null 传递给函数?
理论上我可以检查邮资功能territory_in = 0
,而不是IS NULL
。因为在将 a 转换string
为int
( strconv.Atoi (params ["territory_id"])
)territory_in
时,它将被设置为 0。但我想知道如何将 null 参数发送到 golang 中的存储函数?
我使用 sqlx 和 pgx。