问题标签 [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.
go - 如何将变量 id 传递给 golang 中的 statement.Query()?
我在 postgres 中有这个查询,它根据传递的参数查询 1 或 n 个用户:
现在,当我尝试在 golang 中使用它时,我在处理如何将这种类型的变量参数传递给 statement.Query() 函数时遇到了问题:
这会引发错误:Cannot use 'ids' (type []string) as type []interface{}
当我签入源代码查询时,它可以接收许多接口类型的变量:
如果我手动执行此操作,则可以:
但当然我需要 args 为 1 或更多,并且动态生成。
我正在使用 Sqlx 库。
sql - Go 中数据库迁移的正确策略
我们有一个使用 Postgres 作为后端数据库的 go 应用程序。我们使用https://github.com/jmoiron/sqlx与 DB 进行通信。从表中读取所有行的代码如下:
在数据库中添加新列后,代码按预期错误如下
因为 db 表有更多的列。更改代码以同时更新结构当然是不可能的。
我看到关闭此错误的一种方法是使用此处记录的db.Unsafe
有没有其他惯用的方法来处理这种情况?
postgresql - Retrieving arbitrary data into nested object with ORM
I am attempting to develop an api in go, to allow the user to specify an arbitrary data structure, and easily set up endpoints that perform CRUD operations on an auto generated postgres database, based on the structure that they define.
For now, I have been using gorm, and am able to have a database automatically generated based on a user-defined set of structs, that support all types of relations (has one, one to many, etc.). I am also able to insert into the generated database, when JSON is sent in through the endpoints.
The issue I have discovered, is when I try to receive the data. It seems where many of the go ORMs fall short on, is mapping data from all tables back into the nested structs of the parent struct.
For example, if the user defines:
The database creates the tables:
Members
- id
- first_name
Hometowns
- id
- city
- province
- member_refer
However, when retrieving the data, all that is mapped back is:
Does anyone know of a go orm that supports this kind of behaviour?
Thanks
mysql - 如何使用 SQL 模式更改表?
我正在使用sqlx将我的 MySQL 数据库连接到 Golang。我有一个 SQL 模式,其中CREATE TABLE IF NOT EXISTS...
定义了所有语句。这里有一个例子:
这里我如何连接到数据库并每次执行所有查询:
每次添加新列或编辑一些参数(如或)时,我都想更新(更改表)。我怎么能这样做?NOT NULL
DEFAULT ''
database - 在结构标记中使用表名时 SQLX“缺少目标名称”
问题是当我将结构标签与对象一起使用时,它们无法正常工作。我之前做过项目,做过同样的事情,但没有问题,但我不知道为什么。
例子:
这不起作用:
收到错误:
missing destination name id in *[]Category
这工作正常:
询问:
在 SQL 编辑器中运行查询就可以了。我还从事过一个专有项目,在该项目中将表名添加到标签上效果很好,但无论出于何种原因,我似乎都无法做到这一点。
感谢帮助,
编辑:
使用 mysql
go - 如何从接口中提取具体结构
我有多个数据库表,每个表都有一个具体的结构。我正在使用 sqlx。我的数据库访问功能适用于每个具体结构。
由于我的许多数据库操作(例如,插入一行)在表中都是相同的,我想通过使用一组通用的函数来处理它们,这些函数采用接口并执行操作。
在一个接受接口并调用 sqlx 函数的函数中(例如,sqlx.Get),我需要将具体结构从接口中拉出来交给 sqlx。我被难住了。
我读过反射定律。我已经阅读了反射包文档。我已经看遍了,似乎无法将这些碎片正确地组合在一起。
具体代码:
type Session struct {}
实现这些方法并被接受为 Persistable。
该语句工作正常(明确创建的具体结构。
但是在通用函数中使用显式创建的结构会破坏目的。我想做的是:
dest := SomeFunctionThatExtractsTheConcreteStruct( src )
# 这样我就可以将该 dest 传递给 sqlx。
我已经使用反射包来检查 src 变量(类型、值、种类……)。我可以很容易地看到 src 包含一个 *Session。我可以得到真正的价值。但是从 src 创建一个具体的类来传递给 sqlx 让我望而却步。
sql - SQLX 扫描到结构数组
我正在尝试实现一个 sql 查询,它以 jQuery Datatables 期望的方式返回数据,同时允许用户自定义查询(我正在做很多输入验证以确保没有任何 sql 注入)。查询是应该按 object_name 和编辑器 display_name 过滤所有编辑。然后在这些编辑中,应该根据它的 perm_id (uid) 获取每个对象的最后一次编辑。然后它尝试将所有内容放入支持分页的 jQuery Datatables 友好格式中。我认为查询本身正在工作我只是不确定 sqlx 是否支持 array_agg 扫描到结构中。当我尝试将其扫描到 DataTableResponse 结构中时,出现此错误。
不支持的扫描,存储驱动程序。值类型 []uint8 到类型 *[]edits.Edit
mysql - 如何从 sqlx 获取最后插入的行的 id?
我想使用以下方法取回插入 MySql 数据库的最后一篇文章的 id sqlx
:
问题是resultPost
被打印为对象:
所以我想知道提取刚刚插入的行的id的正确方法是什么?
go - 如何使用 sqlx 获取一段字符串?
我是 glang 的新手,我想使用 sqlx 查询 Mysql 以获取要作为 JSON 发送的字符串切片。我知道如何得到这样的结果:
但这给出了一些这样的结构:
媒体是:[{/media/photos/55/abc.png} {/media/photos/55/def.jpg} {/media/photos/55/gdx.png}]
我想知道如何直接获取字符串?我查看了文档,但我不清楚答案(如果有的话)。
postgresql - sqlx 将 postgres 数组扫描到结构中
我正在尝试在 go 中创建一个基本的评论 api。我似乎无法弄清楚如何将 postgresql 数组扫描到结构中的结构数组中。我想我可能有 Thread.Posts 类型是 jsonb 但这似乎不优雅,因为我认为我必须解组它。
sql:列索引 3 上的扫描错误,名称“posts”:不支持扫描,将 driver.Value 类型 []uint8 存储到类型 *[]models.Post