【问题标题】:GORM converts query text into lowercaseGORM 将查询文本转换为小写
【发布时间】:2021-11-29 07:07:41
【问题描述】:
response := db.Where("createdAt BETWEEN ? AND ?", today, tomorrow).Find(&orders)

我想用 GORM 进行查询。我表中的列名为“createdAt”,但 GORM 将其转换为。 “创建日期”

    ERROR: column "createdat" does not exist (SQLSTATE 42703)
[172.521ms] [rows:0] SELECT * FROM "Orders" WHERE `createdAt` BETWEEN '2021-04-21 04:00:00' AND '2021-04-22 04:00:00'

如何防止 GORM 将查询文本转换为小写?

【问题讨论】:

  • 查看table,了解不同数据库的区分大小写。
  • 大家好,我用这个解决了:response := db.Where(" \"createdAt\" BETWEEN ? AND ?", today, tomorrow).Find(&orders)

标签: go grails-orm go-gorm


【解决方案1】:

这不是 gorm 的问题,它的数据库问题意味着在数据库列中创建名称为 created_at 只需检查那里并尝试用此替换您的代码

response := db.Where("created_at BETWEEN ? AND ?", today, tomorrow).Find(&orders)

【讨论】:

    【解决方案2】:

    如果您使用区分大小写的列名,请使用\",例如:\"createdAt\",没有现代数据库无法处理大小写文本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 2015-09-03
      • 2010-12-16
      • 2022-10-14
      • 1970-01-01
      相关资源
      最近更新 更多