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)