错误:使用结构进行查询时,where子句中的列未知


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' 

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

您正在运行最新版本的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)

最新更新