问题标签 [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.

0 投票
1 回答
48 浏览

mysql - 从非sql查询获取结果集

如何使用 golang 从非标准 MySQL“show”语句中检索数据集?例如,“显示表”、“显示变量”、“显示引擎 innodb 状态”。等等

我找不到任何信息来从 Golang 中的 mysql“show”语句中检索结果集。使用 database/sql 包或 sqlx 包都可以。

0 投票
0 回答
1238 浏览

sql - sql:预期 0 个参数,得到 2 个

我正在努力正确利用Postgressqlxpq驱动程序来在数据库中创建一行。让我们从简单的开始:

我有一个user,roleuser_role表。我想在数据库中插入一个角色并获取插入行的 ID。使用以下 sql 可以完美地工作:

const createRoleSQL = "INSERT INTO role (name) VALUES (:name) RETURNING id"

为了使这项工作顺利进行,我在某个时候准备了声明:

创建时,我将查询作为事务的一部分运行txrole显然是具有正确字段和db标签的结构:

这工作得很好。

现在我想扩展它并插入一个新角色并将其分配给用户:

不幸的是,这失败了sql: expected 0 arguments, got 2。是否可以通过单个查询来实现我想要做的事情?

0 投票
1 回答
203 浏览

go - 初始化连接到数据库时 SQLX 中未定义的“错误”

我是 Go lang 的新手,并尝试连接到服务器并在 API 调用时创建数据库。

但我在sqlx.Connect. 最初我以为是因为我没有定义db *sqlx.DB. 但它仍然在db, err = sqlx.Connect("mysql", connection).

有必要定义一个var err吗?

谢谢!

0 投票
1 回答
206 浏览

kubernetes - Goroutine 在每个请求(sqlx)和代码后打开一个新的数据库连接

让我们考虑以下 goroutine:

和功能:

每次函数在股票代码上迭代时,它都会打开一个 cloudSQL 连接

我不知道为什么每次都会打开一个新连接,因为 sqlx.Connect 不在 for 循环中。

0 投票
1 回答
201 浏览

postgresql - 使用 go 的 sqlx 在 postgres 表中插入记录并自动生成 ID

sqlx用来创建一个goapi。

我想在名为day.

对应的go结构如下

在 Day 创建的端点中,将接收除ID通过 post 请求之外的所有字段

我应该使用什么方法与我的数据库进行交互,以便:

a) 创建记录

b)不需要通过ID自己并指示postgres自动生成字段。

建表语句如下:

0 投票
2 回答
8230 浏览

postgresql - 使用 sqlx 批量插入

我正在尝试使用 sqlx 和 golang 进行批量插入:

该代码有效,但速度很慢。

我试过这个:

但是当我查看我的记录时它什么也没做,我没有看到任何记录。

问候

编辑 :

0 投票
1 回答
397 浏览

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 引用或绑定可能有问题?

我希望这是一个简单的修复,边界错字。

0 投票
0 回答
323 浏览

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

它似乎只将第一批插入视为准备好的语句,而忽略了其余的。

0 投票
1 回答
130 浏览

go - 将请求正文插入数据库

我正在使用 Go、SQLX、postgres 和 go-swagger 开发一个 API。

在 POST 方法处理程序中,我得到一个由 swagger 定义和验证的类型的请求正文。验证后,我想将其插入到 postgres 表中。

除了以下片段外,我没有找到太多关于该主题的文档:

这意味着我需要描述我想要保留的结构的每个字段。

有没有一种方法可以将结构保存在表中?

0 投票
1 回答
694 浏览

go - 如何将 nil/null 参数传递给存储函数?

服务器接收一个带有参数的GET请求territory_idnil如果用户不需要按地区过滤,则此参数可以是,integer如果用户只想获取特定地区的记录,则可以有一个数字。

代码:

postgresql中的存储过程是这样设计的,如果territory_inISNULL,那么这个参数的过滤器就不起作用,否则,如果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 转换stringint( strconv.Atoi (params ["territory_id"]))territory_in时,它将被设置为 0。但我想知道如何将 null 参数发送到 golang 中的存储函数?

我使用 sqlx 和 pgx。