求教 Beego 的 ORM 里的 InsertOrUpdate 方法怎么更新指定的列

2020-11-03 14:06:15 +08:00
 jonathanchoo

不管是

Oconnect.InsertOrUpdate(nc, fmt.Sprintf("%s=%s+%s", "col_name", "col_name", "mock_value"))

还是

Oconnect.InsertOrUpdate(nc, fmt.Sprintf("%s=%s", "col_name", "mock_value"))

依然没用啊。。

求教

2539 次点击
所在节点    Go 编程语言
5 条回复
harlen
2020-11-03 16:12:16 +08:00
InsertOrUpdate 的意思是, 如果要插入的行已经存在,那就更新这条数据。 不能用来更新其他行的数据哦。
jonathanchoo
2020-11-03 16:32:23 +08:00
@harlen
就是更新已存在的啊,我不想更新 created_at 的话,怎么做呢
ninjashixuan
2020-11-03 17:02:31 +08:00
如果是单纯想更新已存在的 update 不就行了,为什么要 InsertOrUpdate?
harlen
2020-11-03 17:06:19 +08:00
nc 中不存在 created_at 就不会更新了,如果还是更新了,你应该检查一下是生成的 sql 更新了这个字段,还是数据库的字段设置了在更新的时间更新
jonathanchoo
2022-07-05 14:14:01 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/721360

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX