我需要从实际的日期时间格式字段日期安全地转换mySQL数据库表MYTABLE中的日期格式:例如2013-09-10 12:43:03,其 unix时间戳等效:1378816983,不会影响数据库中现有的数千篇文章。
我正在使用PHP,mySql,Drupal。
我的步骤
将日期时间的表字段类型更改为时间戳[DONE]
转换实际内容类型字段:timestamp [DONE]
使用PHP strtotime()或MYSQL转换4个表中的现有文章数据字段:UNIX_TIMESTAMP(日期)
一个。对pt算法的一点帮助。 3:
e.g。
loop over all 4 tables {
- create a new column date2 of type: int (or datetime?)
- copy all dates from date to date2 passing them through strtotime()
- delete column date
- rename column date2 to column date
}
答案 0 :(得分:0)
但是我根本不会做这样的转换
答案 1 :(得分:0)
首先,转换此类数据的最安全方法是不要动态执行此操作。
我要做的第一件事就是在你的表中添加另一列。然后假设我们没有修改现有数据,我会考虑使用the Unix_timestamp mysql函数。如果您已经将数据存储在日期数据类型中,那么对于mysql来说,它似乎很安全。
考虑到这一点,运行类似的事情似乎很简单:
update MyTable set newtimeStampColumn=UNIX_TIMESTAMP(oldDateColumn);
看看它是如何工作的。然后,您可以运行一些比较查询,以确保所有数据都已进行核心转换。