问答 / 57 / 7 / 创建于 8个月前
GORM 关于主键搜多问题:为什么 db.First (&Pro, 3),显示的 pro.id 还是 1,而不是 3
希望有大佬能解释一下原因我的理解是当我第一个命令后,我指针的值就被赋值第一行数据库的内容,当我第二次有条件的命令后,会去覆盖第一行内容,不知道我的理解对不对
通过你的执行结果来看,第二次执行,没有找到任何符合的数据,所以 db.First (&Pro, 3) 并没有被赋值过,所以还是 1,可以检查一下 sql。
@weekong 那么有没有可能是第一行影响了数据model实例呢,我看第二行的sql里面有两个id条件判断呢,所以查询条件是 where id = 3 ... and id = 1
where id = 3 ... and id = 1
db.First(&Pro)
db.First(&Pro,3)
where id = 3 AND id = 1
实际执行的语句就是 where id = 3 AND id = 1 大佬我想问问,这样子是因为出错了,所以他显示的还是为 1 ,对吗
我要举报该,理由是:
推荐文章: