mysql 如何把date转换数字_请教:mysql中,如何将date字段转换为int字段?

你的位置:

问答吧

-> 数据库

-> 问题详情

请教:mysql中,如何将date字段转换为int字段?

刚开始设计数据库时候,没有想到date类型只能精确到某一天,不能精确到秒。

现在我想把这个date字段改为int(11)类型,我在phpmyadmin中直接修改的话,提示#1265 - Data truncated for column 'publish_date' at row 2

因为我这个表中已经有了数据,我不想删除。请问有没有办法。

谢谢了。

作者: changanti

发布时间: 2008-04-01

datetime类型可以插入到秒

另外int是整型,不能有数字外的任何符号,如果有则将丢失数据。

作者: kuhanzhu

发布时间: 2008-04-01

time()函数..

看下PHP手册..

不过表里的数据不想丢而要时间精确到秒.只有使用datetime类型

作者: wuleying

发布时间: 2008-04-01

谢谢两位的指点。

但是回答的好像不是我的问题,是我的问题没有描述清楚。再次描述下:

1.  我的mysql数据库中的一个表中字段类型为date,并且这个字段中已经插入了数据;

2.  我不想删除已经插入的数据的前提下,我想把这个字段类型由date修改为int类型,

请问如何做?请指点一下。

再次感谢。

作者: changanti

发布时间: 2008-04-01

或许尝试两步操作:

1、将数据库中已有的时间转成INT类型

2、全部转换完成之后将字段类型换成INT型

作者: 帅青蛙

发布时间: 2008-04-01

首先, 你的INT(11)应该改成INT(10)

INT最大为10位。

其次,你如果想把时间存为UNIX时间戳形式就直接设时间为 TIME INT(10) UNSIGNED NOT NULL DEFAULT 0,

在PHP处理程式中

$time=time(); 也就是要把时间转为UNIX时间戳形式。 这样存到数据库中就是1122334455的形式

在取出的时候用date函数格式化一下就OK 例如。 date('y-m-d',$time) 格式化时间为08-04-01

作者: laohoo

发布时间: 2008-04-01

明白了。谢谢。

作者: changanti

发布时间: 2008-04-01

建立个新表导数据吧 可以考虑使用insert into ... select ...的语法结构哦

在导入数据过程中将原来为date类型的字段使用mysql的unix_timestamp()函数处理下

如果数据量大 可能会很慢哦 建议使用命令行或客户端执行

作者: sanders

发布时间: 2008-04-01

转换一下datatime

作者: oklrc

发布时间: 2008-04-01

精确到秒的话直接把数据类型转化成datetime就好了,原本的数据只是多了00:00:00而已

作者: LenChi

发布时间: 2008-04-01

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值