如何为 MySQL 数据库中的所有时间戳/DATETIME 添加偏移量?
我有一些 MySQL 数据库,其中有多个表,其中包含(除其他外)一些 DATETIME 列。我正在寻找一种方法来向整个数据库中的所有 DATETIME 列添加一些时间(例如一年)。
如果数据最初写入数据库时系统时间错误,这会很有用。
或者,就像我的例子一样,
根据历史数据为应用程序创建最新的演示数据。
- 有没有办法一次移动数据库中的所有 DATETIME 字段?
- 如果不是,如何移动一个表中所有条目的 DATATIME 列(即添加一些偏移量)?
感谢您的回答!
I have some MySQL databases that have several tables that contain (amongst others) some DATETIME columns. I am searching for a way to add some amount of time (say one year) to all DATETIME columns in the whole database.
This can be useful if the system-time was wrong when the data was originally written to the database.
OR, as in my case
to create recent DEMO-data for an application out of historical data.
- Is there a way to shift all DATETIME fields in a Database at once?
- If not, How can the DATATIME column of all entries in ONE table be shifted (i.e. add some offset)?
thanks for your answers!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这应该可以解决问题。
This should do the trick.
尝试使用
INTERVAL
关键字,或者可能是这个
ADDTIME()
将expr2添加到expr1并返回结果。 expr1 是时间或日期时间表达式,expr2 是时间表达式。单位值是这样的
Try using
INTERVAL
keyword likeOR possibly this
ADDTIME()
adds expr2 to expr1 and returns the result. expr1 is a time or datetime expression, and expr2 is a time expression.Unit values goes like this