如何将mysql数据库的表中字段类型为int(存放时间戳)改为datetime类型,并保证数据不知丢

如何将mysql数据库的表中字段类型为int(存放时间戳)改为datetime类型,并保证数据不知丢,第1张

稳妥的办法,

表不大的话,百万行以内,先建立一张表加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语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10172899.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存