不支持扫描,将 driver.Value 类型 []uint8 存储为类型 *time.Time

2024-03-20

我很难查询用户,其定义为:

type User struct {
    ID           int       `db:"id" json:"id"`            
    UserName     string    `db:"username" json:"username"` 
    Email        string    `db:"email" json:"email"`
    CreatedAt    time.Time `db:"created_at" json:"created_at"`
    StatusID     uint8     `db:"status_id" json:"status_id"`
    Deleted      uint8     `db:"deleted" json:"deleted"`
... 
}

MariaDB中的表定义为:

+--------------+------------------+------+-----+-------------------+----------------+
| Field        | Type             | Null | Key | Default           | Extra          |
+--------------+------------------+------+-----+-------------------+----------------+
| id           | int(10) unsigned | NO   | PRI | NULL              | auto_increment |
| username     | varchar(50)      | NO   |     | NA                |                |
| email        | varchar(255)     | NO   |     | NULL              |                |
| created_at   | datetime         | NO   |     | CURRENT_TIMESTAMP |                |
| status_id    | tinyint(1)       | NO   |     | 0                 |                |
| deleted      | tinyint(1)       | NO   |     | 0                 |                |
...              |

但是,当我像这样查询时:

func GetUsers(c *gin.Context) {
    var users []model.User
    err := shared.Dbmap.Select(&users, "SELECT * FROM user")

    if err == nil {
        c.JSON(200, users)
    } else {
        fmt.Println("%v \n", err)
        c.JSON(http.StatusInternalServerError, gin.H{"error": "no user(s) in the table or problem in the query"})
    }

    // curl -i http://127.0.0.1:8080/api/v1/users
}

我收到此错误:

sql: Scan error on column index 3: unsupported Scan, storing driver.Value type []uint8 into type *time.Time

而表中有一些行。

我也尝试过created_at as timestamp但仍然得到同样的错误。

所以我不知道这里出了什么问题?我该如何修复它?

P.S.虽然我的问题的答案与this https://stackoverflow.com/questions/29341590/go-parse-time-from-database但这里的上下文不同(sqlx代替go-sql-driver/mysql)。此外,由于这里的错误是主题,因此对于在谷歌上搜索相同错误的人来说可能更容易搜索到。因此,也许这值得作为一个单独的问题保留。


好的,我找到解决方案了,谢谢this https://stackoverflow.com/a/29343013/5774375回答。 问题是添加?parseTime=true到数据库映射器。像这样:

db, err := sqlx.Connect("mysql", "myuser:mypass@tcp(127.0.0.1:3306)/mydb?parseTime=true")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不支持扫描,将 driver.Value 类型 []uint8 存储为类型 *time.Time 的相关文章

  • MySQL用户创建的临时表已满

    我使用内存引擎创建了一个临时表 如下所示 CREATE TEMPORARY TABLE IF NOT EXISTS some text id INT DEFAULT 0 string varchar 400 DEFAULT engine m
  • 我可以根据我正在构建的操作系统导入 Golang 包吗?

    假设我有一个基于哪个操作系统的 go 项目 在某些情况下是哪个发行版 我想使用 Systemd 客户端包 Upstart 客户端包 sysv 客户端包 launchd 客户端包 是否可以有选择地导入每个包 以便我只导入我正在构建的每个操作系
  • MySQL 按主键排序

    某些 SQL 服务器允许使用通用语句 例如ORDER BY PRIMARY KEY 我不相信这适用于 MySQL 是否有任何此类解决方法可以允许跨多个表自动选择 或者是否需要查找查询来确定主键 我一直在研究的解决方法包括调用SHOW COL
  • MySQL+子串怎么做? + 替换?

    我不太擅长 SQL 希望能够变得更好 我在尝试执行某些表操作时遇到一些麻烦 我希望能够从下面的 ProgUID 列中选择子字符串 就像是 SUBSTRING table ProgUID 3 12 这将为我提供 ProgUID P CAMVE
  • MySQL 服务器未启动

    当我做 mysql u root p并输入my password这就是我得到的 错误 2002 HY000 无法通过套接字 var run mysqld mysqld sock 连接到本地 MySQL 服务器 2 所以我输入 systemc
  • mySQL MATCH 跨多个表

    我有一组 4 个表 我想对其进行搜索 每个都有全文索引 查询可以使用每个索引吗 CREATE TABLE categories id int 5 unsigned NOT NULL auto increment display order
  • 将记录分成两列

    我的数据库中有一个 学生 表 其中包含大约 5 000 条记录 我想将这些记录显示在two分区 如何在不执行查询两次的情况下做到这一点 仅使用单个查询 显示示例http www freeimagehosting net uploads f1
  • ActiveRecord3死锁重试

    Rails 3 或 ActiveRecord 3 是否有任何插件可以复制旧版本死锁重试 http agilewebdevelopment com plugins deadlock retry插入 或者 该插件仍然适用于 Rails 3 吗
  • 对于数据库来说,选择正确的数据类型会影响性能吗?

    如果是这样 为什么 我的意思是 tinyint 的搜索速度比 int 快吗 如果是这样 性能上的实际差异是什么 是的 根据数据类型 它确实有所不同 int vs tinyint不会在速度上产生明显的差异 但会在数据大小上产生差异 假设tin
  • 错误“binary.Write:无效类型”是什么意思?

    下面显示的代码 我创建了一个结构类型并希望将其编码为二进制 但它显示binary Write invalid type main Stu错误 我读过一些类似的代码 但我找不到为什么我的代码不起作用 type Stu struct Name
  • 使 pdo::query 静态

    当我运行下面的代码时出现此错误 我通常使用 msql 函数 但我尝试使用 PDO 代替 怎么了 致命错误 第 14 行无法静态调用非静态方法 PDO query
  • Go 的范围不能超过 (类型接口 {})

    我正处于尝试将我的注意力集中在 Go 上的婴儿阶段 目前 我正在模拟一个 API 请求 该请求返回包含对象数组的 JSON 格式的字符串 我试图找出迭代每个记录并访问每个字段的最合适的方法 最终 每个字段都将写入 Excel 电子表格 但现
  • PHP 绑定“bigint”数据类型(MySQLi 准备好的语句)

    studentId 57004542323382 companyOfferId 7 sql INSERT INTO studentPlacement companyOfferId studentId VALUES if stmt db gt
  • 当sql连接中存在两个同名列时,如何从一个表列中获取值

    当我连接两个具有相同名称列的表时 我目前面临着尝试获取值的问题 例如 table1 date和table2 date 每个表中的日期不同 我将如何获取 日期 本例中的表1 我目前正在跑步 while row mysqliquery gt f
  • 截断 Mysql 表 Cron 作业?

    我在如何使用 cron 作业截断 Mysql 表时遇到了一些麻烦 无论我尝试什么 我似乎都无法让数据库清除表格 感谢您的帮助 mysql uderp example pexample hlocalhost Dexample e TRUNCA
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • MySQL Connector/C++ 库链接错误问题

    PROBLEM 好吧 我一直在尝试遵循 MySQL Forge Wiki 和其他一些网站上的示例代码 这些网站提供了有关如何获得简单数据库连接的教程 但由于某种原因 我的项目总是因链接错误而失败 我可以我自己不明白为什么或如何解决它 我仍在
  • Mysql 检索所有有限制的行

    我想检索特定用户的所有行 限制为 0 x 所以我只是想问是否有任何方法可以检索 mysql 中的所有行 而不调用返回 x 的 count id 的方法 而不重载现有函数 该函数在查询中根本没有限制 与我们的 string Relace 功能
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • MySQL 按重复项从上到下排序

    我有一个lammer问题 因为我不是mysql专业人士 我有类似的字段 id color 1 red 2 green 3 yellow 4 green 5 green 6 red 我想按重复项进行分组 最常见的重复项先进行分组 所以应该这样

随机推荐

  • 使用 pandas 删除 Excel 中的标题行

    我有一个带有合并标题的 Excel 文件 我使用 pandas 将其读取为数据框 之后看起来像这样pd read excel Unnamed 0 Pair Unnamed 1 Type Unnamed 23 cabinet name gro
  • 设计时 XAML 的默认值

    我有一个绑定的TextBlock XAML
  • C 复数和 printf

    如何打印 使用 printf 复数 例如 如果我有以下代码 include
  • 针对一组测试最小汉明距离的算法?

    我想做一件相对简单的事情 给定一个查询号码Q 查询距离d 和一组数字S 判断是否S包含any汉明距离小于或等于的数字d 最简单的解决方案就是使S一个列表并迭代它 计算距离 如果计算出的距离小于或等于 d 则退出返回TRUE 但考虑到我想做的
  • 在python中打印对象/实例名称

    我想知道是否有一种方法可以将 python 中的对象名称打印为字符串 例如 我希望能够说 ENEMY1 还剩 2 马力 或者 ENEMY2 还剩 4 马力 有办法做到这一点吗 class badguy def init self self
  • 更精确的Thread.Sleep

    我该如何做 Thread Sleep 10 4166667 好吧 我现在明白了 睡眠不是一条出路 所以我使用计时器 但计时器也是以毫秒为单位 我需要更精确 有纳秒精度的计时器吗 那么您希望您的线程恰好在该时间休眠然后恢复 忘掉它 该参数告诉
  • Android自定义权限-Marshmallow

    背景 从历史上看 Android 自定义权限已经一团糟 https code google com p android issues detail id 65864 and 取决于安装顺序 https code google com p a
  • Hibernate 的二级缓存是否/可以用于 COUNT() 操作?

    当使用 Hibernate 和 Ehcache 作为二级缓存 2LC 实现时 在使用 WHERE 子句执行 COUNT 操作时是否 或可以 使用此缓存 用 SQL 术语来说 我正在执行的查询是SELECT COUNT id FROM tab
  • 以编程方式选择 DataGridView 的一行

    在我的表单应用程序中 有一个 buttonNEW 选择NewIndexRow of DataGridView我想用这个按钮更改 datagridview 的索引 private void buttonNew Click object sen
  • 将变量向上舍入到下一个最接近的 X 倍数

    我正在寻找一种方法将数字四舍五入到下一个最接近的 250 倍数 例如 如果我有以下 JS var containerHeight container height 我们假设 containerHeight 的值是 680px 我想要一种向上
  • 如何设置 AG-GRID 列垂直边框的样式

    我希望我的 AG Grid 列具有垂直边框 默认情况下 网格行具有水平边框 我希望它模仿常规 Excel 电子表格的外观和感觉 我尝试在列定义中使用单元格样式 如下所示 this columnDefs headerName Test cel
  • 我可以通过编程方式向 WPF 数据网格添加一行吗?

    我只想添加一个新行 我的数据源位于需要进行一些处理的对象中 我需要像下面这样的 wpf 数据网格 DataRow row dataTable NewRow foreach NavItem item in record Items row i
  • 如何将数据绑定到非静态类上的静态属性?

    In my ViewModel类我有一个静态属性AllSupport但我不知道如何正确绑定它 ListView 已绑定到 ObservableCollectionAllEffects具有AllSupport静态属性 我用过这个
  • 在 PHP 邮件函数中设置 $headers 数组时遇到问题

    当我将 headers 数组指定为时 我无法通过 PHP 邮件函数发送电子邮件 headers array From gt email protected cdn cgi l email protection Content type gt
  • 悬停时模糊整个背景

    所以我的首页上有一些项目 其中显示了一些动漫 我想做的是 当你将鼠标悬停在第一个节目 Hunter X Hunter 上时 我希望页面上的所有其他内容 不包括悬停的内容 都变得模糊 我环顾四周 看到了一些例子 但我觉得我的情况有点不同 首页
  • PHP REST API 中的选项

    我正在用 PHP 编写 REST API 但找不到任何解释如何使用 OPTIONS 的资源 它似乎是 REST API 的重要组成部分 这就是我发现的内容 谁能解释 OPTIONS 应该包含什么以及它应该如何格式化 提前致谢 HTTP OP
  • 您在哪里进行验证?

    希望您会看到我在下面的场景中描述的问题 如果不清楚 请告诉我 您的应用程序分为三层 前端UI层 可以是asp net webform 或者window 用于编辑Person数据 中间层业务服务层 编译成dll PersonServices
  • 如何在 jenkins 2 管道中使用 FileParameterValue

    如何将当前项目工作区中的文件作为参数传递给另一个项目 例如就像是 build job otherproject parameters class FileParameterValue name output tar gz value wai
  • IntelliJ 中的“重新部署”和“重新启动服务器”有什么区别?

    我使用 IntelliJ 和 Tomcat 6 来运行 Spring Java EE 应用程序 我没有部署已编译的 war 而是选择使用分解的 war 部署 从而使我可以选择热交换一些类和 JSP 然而 除了 更新类 和 更新类和资源 之外
  • 不支持扫描,将 driver.Value 类型 []uint8 存储为类型 *time.Time

    我很难查询用户 其定义为 type User struct ID int db id json id UserName string db username json username Email string db email json