问答 / 25 / 7 / 创建于 3周前
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 ,对吗
我要举报该,理由是:
推荐文章: