Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] 求助:mysql数据库把某个字段类型由INT转换为DATETIME

[复制链接]
花村 发表于 2013-11-21 21:32:20 | 显示全部楼层 |阅读模式
由于要换一套程序,原来的程序存储时间用的INT类型,新程序用的DATETIME类型,所以要把该表中某字段的全部数据由INT转换成DATATIME类型,请问怎么写SQL语句呢?
otherbank 发表于 2013-11-22 10:00:48 | 显示全部楼层
本帖最后由 otherbank 于 2013-11-22 10:03 编辑

写个大体方法:
1、添加一个字段 timestamp
大体格式:
ALTER TABLE  `pre_common_credit_rule_log` ADD  `timestamp` TIMESTAMP NOT NULL AFTER  `clid` ;
2、将之前的int字段转换写入新字段 timestamp
循环读出数据,
大体格式:
$query = DB::query("SELECT int  FROM pre_common_credit_rule_log");while($choice = DB::fetch($query)) {
$datetime = date('Y-m-d H:i:s', $choice[int]);
update pre_common_credit_rule_log set  timestamp = $datetime where clid='$choice[clid]';
}

3、删掉之前的int字段
大体格式:
ALTER TABLE  `pre_common_credit_rule_log` DROP  `int`


回复

使用道具 举报

baxter 发表于 2013-11-27 13:05:27 | 显示全部楼层
按楼上说的做
回复

使用道具 举报

kissmeily 发表于 2013-12-6 20:12:25 | 显示全部楼层
otherbank 发表于 2013-11-22 10:00
写个大体方法:
1、添加一个字段 timestamp
大体格式:

大神,说的好啊,厉害啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-25 15:54 , Processed in 0.022660 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表