【问题标题】:ERR:Unknown column in where clause when query with structERR:使用结构查询时where子句中的未知列
【发布时间】:2021-04-28 06:32:50
【问题描述】:
db.Table("test").Where(&Query{Name:"test"}).Find(&infos)

当我执行这条语句时,SQL 语句如下所示:

SELECT * FROM `test`  WHERE (`queries`.`name` = 'test') 

而报错:

Error 1054: Unknown column 'queries.name' in 'where clause' 

它使用我的结构名而不是表名

【问题讨论】:

    标签: go-gorm


    【解决方案1】:

    您运行的是最新版本的 Gorm v2 吗?我无法重现您所看到的:您编写的代码会产生

    SELECT * FROM `test` WHERE `test`.`name` = "test"
    

    无论如何,如果你不使用Query 结构,而是写出它应该工作的条件:

    db.Table("test").Where("name = ?", "test").Find(&infos)
    

    或者你可以使用地图:

    db.Table("test").Where(map[string]interface{}{"Name": "test"}).Find(&infos)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-05
      • 2011-06-03
      相关资源
      最近更新 更多