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

MySQL同表Unix时间列转换后复制到TIMESTAMP列异常求解

问题原因
  • 核心问题是FROM_UNIXTIME指定的输出格式与MySQL TIMESTAMP 类型支持的合法输入格式不匹配:你使用的格式化参数'%Y %M %D %H:%i:%s'会输出类似2021 October 8th 22:37:48的字符串,包含英文月份全称、日期序数后缀,MySQL无法将这类字符串自动解析为合法的TIMESTAMP值,因此会写入默认零值0000-00-00 00:00:00。
  • 你使用的测试时间戳1633711068对应时间为2021年,属于MySQL TIMESTAMP类型的支持范围(1970-01-01 ~ 2038-01-19),不存在取值越界问题。
解决方案

直接省略FROM_UNIXTIME的第二个格式化参数即可,该函数默认返回YYYY-MM-DD HH:MM:SS格式的时间值,完全适配TIMESTAMP类型的写入要求,修改后的SQL语句如下:

UPDATE foods
SET 
  ColumnB = FROM_UNIXTIME(ColumnA)
WHERE
  ColumnB IS NULL

如果业务场景需要显式指定格式,可将格式化参数替换为'%Y-%m-%d %H:%i:%s',输出结果同样符合TIMESTAMP的写入规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:15:03