You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL命令行中将int数据类型修改为date类型

MySQL命令行int字段转date类型操作步骤

推荐使用稳妥的分步操作,避免直接修改原字段导致数据损坏:

  • 操作前先备份整张表数据,避免操作失误丢失数据
    备份命令:mysqldump -u 你的数据库用户名 -p 目标数据库名 目标表名 > 自定义备份文件名.sql,执行后输入数据库密码即可完成备份
  • 第一步:在表中新增一个date类型的临时字段
    命令:ALTER TABLE 目标表名 ADD COLUMN 临时字段名 DATE;
  • 第二步:根据原int字段的存储格式,把转换后的数据写入临时字段
    • 若原int为YYYYMMDD格式(例:20240520对应2024-05-20):UPDATE 目标表名 SET 临时字段名 = STR_TO_DATE(原int字段名, '%Y%m%d');
    • 若原int为10位秒级Unix时间戳:UPDATE 目标表名 SET 临时字段名 = FROM_UNIXTIME(原int字段名, '%Y-%m-%d');
    • 若原int为13位毫秒级Unix时间戳:UPDATE 目标表名 SET 临时字段名 = FROM_UNIXTIME(原int字段名/1000, '%Y-%m-%d');
  • 第三步:抽查临时字段的数据是否符合预期,确认无误后删除原int字段
    命令:ALTER TABLE 目标表名 DROP COLUMN 原int字段名;
  • 第四步:把临时字段重命名为原字段名即可
    命令:ALTER TABLE 目标表名 CHANGE COLUMN 临时字段名 原字段名 DATE;
注意事项
  • 若表数据量较大,UPDATE和ALTER TABLE操作都会锁表,建议在业务低峰期执行,避免影响正常业务
  • 修改完成后可执行DESC 目标表名;查看字段类型是否修改成功,也可抽查部分数据确认值是否匹配

内容的提问来源于stack exchange,提问作者Mahesh Divate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 11:57:05