问题标签 [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 - golang sqlx“缺少目的地名称....”
将 sqlx 与 postgresql 一起使用时出现错误:“缺少目标名称 rec_created_by”
我有db:"rec_created_by"
我的客户类型,但为什么会发生错误。
arrays - 如何将 JOIN 映射到具有子结构数组的结构数组
我的数据库中有两个表,tags
并且record_tag
:
和
我有这两个结构:
目前,我有这个执行n
sqlx调用的循环:
当我编组taggedRecords
为 JSON 时,我得到了这个期望的输出:
显然,这是虚拟数据。上面的实现有效,但我不喜欢这样,因为通常n
是 10 次,这是对数据库的 10 次单独的网络调用。我已经四处摸索并尝试了一些事情。我觉得应该可以将其作为一个查询。我试过实现这个解决方案,但它对我不起作用,因为我的根结构嵌入了一个子结构数组,而不仅仅是一个子结构。
我试过这个:
Select
吐出一个错误,说找不到目标名称 id,我假设这是因为有两个 id 字段出现在它上面,它不能正确地将连接映射到两个结构(db
语法似乎不支持点来表示表名或昵称),或两者兼而有之。
是否有可能/在减少数据库调用的同时实现此 SQL 调用并编组为上述输出格式的最佳方法是什么?
go - Jmoiron SQLX Golang 通用接口
我是 golang 新手,使用 Jmoiron Sqlx 包查询 Postgres 数据库(选择查询)。我正在做的方式是创建一个 sql 字符串并调用 Select(dest interface{}, query string,args) 方法。虽然它运作良好,但问题是我正在动态生成我的 sql 字符串,因此每个响应的目标结构应该不同。
例如: - 一个查询可以是
另一个可以
据我了解,应该为 Select Method 定义两个不同的结构来工作,即
和,
然后调用 select as db.Select(&resp1,query,args)
,db.Select(&resp2,query,args)
我在想我是否可以定义一个通用的 Struct
并且基于我的选择查询仅填充匹配的列(即只有 a,b,c,d 用于第一和 x,y,z 用于第二)。
我尝试搜索但无法获得任何线索。
go - sqlx structscan 连接查询
我是新来的 sqlx,我想知道它是否可以在一个查询中 strutscan 一个 master -> detail join 子句。一个病人有很多情节,所以我想查询所有病人并在每个病人结构中嵌入一个情节数组
像这样的东西:
谢谢。
go - 如何在 Go 的 sqlx 查询中使用通配符?
我将 sqlx 与 mysql 数据库一起使用,并希望查询author
表中以某些字母开头的名称。这是查询:
但我明白了
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 '% OR last_name LIKE ?%' 附近使用正确的语法
我在文档中查看了LIKE
查询示例,但找不到任何查询。所以想知道我该如何解决这个问题?
mysql - Go 非 ascii 表单值保存为问号
我正在使用 Go sqlx 包对 MariaDB 数据库进行查询,并且我希望能够将非 ascii 表单提交的值保存到数据库中。
这是功能:
表quote
有utf8_general_cli
整理和InnoDB
引擎。但是表单提交的content
和值保存为当值不是ascii字符时(我试过波斯语和简体中文)。author
???
我也尝试utf8_unicode_cli
过表格排序,但遇到了同样的问题。有趣的是,非 ascii 字符在保存之前在终端上打印时会正确显示。
所以我一无所知这里出了什么问题,我该如何解决?
database - 查询 Postgresql 时偶尔会检索到“连接超时”错误
在将 sqlx 与 pgx 一起使用时,我经常会收到此错误,我相信这是我的配置错误和我没有掌握的 db 概念:
error: 'write tcp [redacted-ip]:[redacted-port]->[redacted-ip]:[redacted-port]: write: connection timed out
尝试从数据库读取时会发生这种情况。我在启动阶段初始化 sqlx:
任何负责与数据库交互的结构都可以访问这个指针。他们中的大多数人使用Select
or Get
,我理解那些自己返回到池的连接。有两个函数使用Exec
,它们只在函数结束时返回结果和错误。
其他注意事项
- 我的 Postgres 数据库支持 100
max_connections
- 在出现此错误时,我只显示了一些活动连接
- 我没有使用
SetMaxIdleConnections
或SetMaxOpenConnections
- 刷新页面并再次触发请求始终有效
关于这里可能发生的事情的任何提示?
编辑:我没有提到该服务器位于 compose.io 上,而后者又托管在 AWS 上。AWS是否有可能将这些连接变成僵尸,因为它们已经打开了很长时间,并且在一个一个尝试它们失败后发生超时?
postgresql - 为什么这个sqlx的copyin语句挂了?
我编写了一个玩具应用程序来试验通过 sqlx 使用 Postgresql。我有一个质量插入使用
作为准备好的陈述的内容
然后我将继续向我正在创建的批量插入添加行。
然后最后执行准备好的语句
这以前工作得很好,但现在我回到它并尝试执行这段代码,它挂在
我是否在我的代码中遗漏了什么,或者这一切都与数据库引擎有关,没有响应。
这是我的完整代码。
如果有帮助的话,我也可以包含contacts.json 文件的内容。
更新
是的,最后很明显。我正在从 tx 创建一个语句,
对此的进一步补充应该是stmt
另一个与问题没有直接关系的错误是我将一组联系人插入到结构联系人的联系人字段中
应该将指针传递给 Contacts 的 Contacts 数组字段的 db 的 Select 方法,就像这样
以防人们稍后尝试运行此代码并想知道为什么它没有将结果打印到控制台。
mysql - 如何使用 sqlx 在切片中查询 mysql?
我想在 mysql 数据库中查询一个表以获取IN
切片的值:
但我得到这个错误:
我怎样才能解决这个问题?