MySQL时间戳到日期时间转换

时间:2012-05-24 22:19:01

标签: mysql date

我有一个非常大的MySQL表(数百万行),可以在20分钟内获得新数据。我一开始就犯了一个错误,并且有一个时间戳数据,而我真正想要的是一个日期时间列。我怎样才能尽快将当前表格或当前表格迁移到新表格,尽管仍然可以将新数据附加到旧表或新表格中?

1 个答案:

答案 0 :(得分:1)

这取决于使用数据库的人/用户,以及你拥有的控件......

一种方法可能是:

  • 创建一个新表(具有所需的数据结构)(CREATE TABLE...
  • 修改写入数据库的代码/进程,以便它们写入旧表和新表(但继续从旧表中读取)
  • 所有内容写入两者时,将旧表中的旧数据复制到新表(INSERT ... SELECT ...
  • 修改从数据库读取的代码/进程,以便他们从新表中读取(但继续写入两者)
  • 所有正在从新表中读取时,修改代码/进程以仅写入新表
  • 所有正在读取和写入新表(单独)时,您可以删除旧表。 (DROP TABLE...

您也可以通过更改现有表来执行类似的操作(即创建新列),但如果您的数据每20分钟更新一次,则可能会有一个非常大的表,在这种情况下,ALTER TABLE查询可能会占用运行一段时间 - 所以我建议转而使用新表。