稳妥的办法,
表不大的话,百万行以内,先建立一张表加table_bak将数据原封不动的倒过去
然后修改原来的表新建一个datetime字段
然后
UPDATE 表 set 新建的datetime字段= FROM_UNIXTIME('原来的时间字段') where id="指定一个ID";
先实验下,没问题把where条件去掉
然后你新的字段不就是datetime字段了么
这个时候alert下表,吧新字段改成旧字段的名字,就字段加个_bak什么的 不就完成了么
如果中途有错误,你还有备份
后台接收到 POST 或者 GET 过来的这个日期,做个时间戳转化处理,很简单的,用time()函数
$data = "20150725";
$time = time($data);
var_dump($time);
结果输出
int 1437901908
时间戳的话是ORACLE吧
可以使用以下语句
ALTER TABLE table_name MODIFY(column TIMESTAMP);
由于是从较小时间类型向较大时间类型转化,所以可以更改。反之,不能实现。
请参考以下实验:
-- 2015年1月份到现在的的数据
select ,now() as time_now from timestampTest
where tmStmp between '2015-01-01 00:00:00'
and now();
以上就是关于如何将mysql数据库的表中字段类型为int(存放时间戳)改为datetime类型,并保证数据不知丢全部的内容,包括:如何将mysql数据库的表中字段类型为int(存放时间戳)改为datetime类型,并保证数据不知丢、php 按年月日时间查询数据库中时间戳字段、将数据库中的一个时间格式字段的所以数据,修改成时间戳格式的sql语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)