问题标签 [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 回答
844 浏览

sql - 在 Go 中初始化和保留准备好的语句的推荐方法是什么?

我正在使用sqlx编写我的第一个 Go 项目,并且想使用 Prepared 语句。

我不确定以一种易于管理的方式初始化和保留 Prepared 语句变量的推荐做法是什么。

我希望它们只能从实际上必须使用它们的代码部分访问,到目前为止,每个语句都由一个函数使用,因此全局变量不是一个好的选择(除了通常不被接受之外)。

在 C/C++ 中,我可能会使用函数静态变量并在第一次输入函数时对其进行初始化。这样,关于语句内容和使用它的调用的信息就彼此接近了。

但是据我所知,到目前为止,Go 中没有“方法静态变量”,那么还有什么替代方法呢?

我找到了对闭包的引用,它们是匿名函数,但这是实现这一目标的最佳方法吗?从“准备好的陈述最佳实践”的角度来看,我的目标是正确的吗?

0 投票
1 回答
1302 浏览

go - 对接口 args 使用 sqlx.Rows.StructScan

我需要对接口使用 StructScan 函数(指向结构的指针)。但是,如果我尝试反映值,则会出错,因为reflect.New()返回了 reflect.Value类型。如何扫描结构并将数据存储到dest var?

0 投票
1 回答
355 浏览

sql - How to unfold a list of int pairs in SQL select query

I have the following list of parameters:

Now I want to build a query which go trough the list and match parmeters: (the part after for is a pseudocode which I want to write in PostgreSQL 9.4)

How to write this query in Go (using jmoiron.github.io/sqlx or standard database/sql)?

0 投票
1 回答
117 浏览

json - JSON Marshaling 产生意想不到的结果

这是一个演示我的问题的 Go Playground:http ://play.golang.org/p/2fq3Fg7rPg

本质上,我正在尝试 JSON 编组一个包含自定义类型 wrapping 的结构json.RawMessage。使用时,CustomType.MarshalJSON()我得到了预期的结果,但仅调用json.Marshal我的完整结构并不能按预期工作。有关具体示例,请参见操场链接。

是什么导致了这种差异?

有没有办法json.Marshal像我期望的那样工作?

0 投票
1 回答
11710 浏览

mysql - 如何从 Go / MySQL 记录所有传出的 SQL 语句?

我将非框架 Go 堆栈与sqlxMySQL用于 Web 项目。

我想记录所有传出的 SQL 语句以进行调试。是否有可能做到这一点?希望得到这样的输出(从 Rails 项目复制):

0 投票
2 回答
20609 浏览

postgresql - Go:如何使用 NamedExec() 在 Postgresql 上获取最后一个插入 ID

我在 Go 应用程序中使用jmoiron/sqlx库与我的 PostgreSql 服务器进行通信。在我的应用程序的某个地方,我有以下代码:

问题:如何使用 return from 获取最后一个插入 id tx.NamedExec()?我试过datas.LastInsertId()了,但它总是返回 0。

注意:我确定插入到 postgres 是成功的。

0 投票
0 回答
467 浏览

postgresql - 选择函数无法使用 PostgreSql 正确查询,没有抛出错误

我有以下功能,这是一项正在进行的工作。此外,我试图执行的查询至少可以说是一个脑筋急转弯:

功能:

问题:

  • 我知道这个查询确实有效,因为我在 pgAdmin3 中编写了它。
  • 我还记录了查询变量的输出结果,并且查询按预期运行,再次使用 pgAdmin3。
  • Select 函数不返回错误
  • 我已经扫描了 sqlx 的文档,并试图用谷歌搜索这个问题,但没有出现任何解决方案。

使用:

  • Postgres:9.4.1
  • 去:1.5

附加信息:

如果我遗漏了部分文档,或者我应该使用而不是选择的 sqlx 中的另一个函数,或者是否需要我提供任何其他信息,请告诉我。

0 投票
1 回答
1397 浏览

oracle - 获取最后插入的 id (go + oracle)

我需要使用带有 go-oci8 ( https://github.com/mattn/go-oci8 ) 驱动程序的 sqlx ( https://github.com/jmoiron/sqlx ) 从我的 go 应用程序在 Oracle 数据库中插入两条记录。第二条记录通过外键引用前一条。所以我需要有第一条记录的主键(它是从序列中分配的,在第一张表上插入触发器之前),然后才能插入第二条记录。

所以我尝试获取最后插入的 id:

LastInsertId 对我来说失败了:

输出:

然后我尝试制作插入记录并返回主键的存储函数。

但我没有找到一种方法来得到它的结果。PostgreSQL 样式选择失败:

并且 OCI8 样式变量绑定不起作用:

输出:

如何获取最后插入的 ID,或者如何从 Oracle 的 Go 中存储的函数中获取值?

0 投票
1 回答
2644 浏览

go - struct Time 属性不会从 Go sqlx 库中加载

我有一个带有时间属性的结构:

时间保存为:

如果我使用 Insert sql 语句保存它,它可以很好地节省 SQLite3 中的时间,但是当我使用以下命令选择所需的记录时:

它返回具有正确加载的其他属性的记录,除了 time 属性ret_basket.Created_at0001-01-01 00:00:00 +0000 UTC

有什么建议么?

0 投票
1 回答
5954 浏览

database - Go 语言,使用 sqlx.StructScan 扫描嵌入式结构

我刚开始学习 Go 语言。我写了以下简单的程序。

在这里,我试图用所有书籍和相关作者填充结构。

Bookstruct 已嵌入Authorstruct。

但是当我运行它时,它给出了以下错误

我做错了什么?

我也尝试将Book结构中的字段标记更改为

并将查询更改为

但它没有任何改变。

编辑

经过几次尝试和错误,我终于让它工作了。

我必须稍微更改我创建的模型。我将 Book 结构从

现在,它工作正常。我做的错误是,我将Bauther字段添加为Auther. Sqlx 无法理解。但是当我添加Auther为匿名嵌入式结构时,问题就解决了。

但它引入了另一个问题:)

由于 ID 字段存在于Book两个Auther结构中。现在 ScanStructBook.ID在所有行中都填充了 0。

我能做些什么来避免它吗?