首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >现在用松鼠来设置更新时间

现在用松鼠来设置更新时间
EN

Stack Overflow用户
提问于 2018-09-12 19:38:43
回答 2查看 2.6K关注 0票数 3

现在,我的容器的时区与MySQL的时区不同,我需要运行一个查询来将MySQL上的时间字段更新到它的时区。通常,我可以使用"edited=NOW()“来运行查询,但是对于Golang松鼠,它没有正确的方法来设置这个子句。我不能同时更改我的应用程序和mysql容器的时区,我只需要更新DB中的日期。在Squirell有什么合适的方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-02 22:56:17

而不是Set(column, "NOW()"),您需要执行Set(column, sq.Expr("NOW()"))

票数 10
EN

Stack Overflow用户

发布于 2018-09-12 23:25:00

我假设您正在使用这个松鼠包,下一次给出一个链接并提供一些示例代码。因此,我想您真正想要的是这样的sql:

代码语言:javascript
运行
复制
update tablename set dt_edited=NOW() where id=1;

您可以简单地使用fmt.Sprintf安全地构建它,并直接或通过sq.Exec()使用db驱动程序执行它。

代码语言:javascript
运行
复制
sql := fmt.Sprintf("update tablename set dt_edited=NOW() where id=%d" tableA.ID)

使用松鼠,您可能需要这样的东西:

代码语言:javascript
运行
复制
db.Exec(update tablename set dt_edited=NOW() where id=?",tableA.ID)

我不确定确切的语法,但是类似的东西应该工作得很好,您只需要一个查询对象来发送sql。不要试图将dt_edited=NOW()作为param发送,因为它将被转义--您可以安全地以这种方式传递id。

你把它当作一根线传递。尝试:

代码语言:javascript
运行
复制
Set("dt_edited=NOW()")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52302275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档