如何在 knex.js 上为 CURRENT_TIMESTAMP 添加时间?
Posted
技术标签:
【中文标题】如何在 knex.js 上为 CURRENT_TIMESTAMP 添加时间?【英文标题】:How to add time to the CURRENT_TIMESTAMP on knex.js? 【发布时间】:2021-09-08 09:57:00 【问题描述】:我有这样的knex
声明:
return knex(table).insert(
id: uuid.v4(),
...data,
created_at: knex.raw('CURRENT_TIMESTAMP'),
updated_at: knex.raw('CURRENT_TIMESTAMP'),
expired_at: ...
)
有 3 个时间戳字段 created_at
、updated_at
和 expired_at
。先2没问题,但是不知道怎么加expired_at
like+1分钟。
在伪代码上我看起来像:
expired_at: knex.raw('CURRENT_TIMESTAMP + 1 minute')
那么,如何使用CURRENT_TIMESTAMP
来增加时间?
【问题讨论】:
【参考方案1】:你可以使用knex.fn.now()
在数据库上执行CURRENT_TIMESTAMP
函数,你需要使用mysql内置的方法来计算你未来的日期
在官方文档中查看 mysql date functions
例如:
knex.raw('SELECT date_add(?, INTERVAL ? day)', [knex.fn.now(), 1])
【讨论】:
以上是关于如何在 knex.js 上为 CURRENT_TIMESTAMP 添加时间?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Knex.js 中正确设置“updatedAt”时间戳?