-- 修复 user_day_statistics 表的 created_at 和 updated_at 时间格式 -- 将 TIMESTAMP 类型改为 DATETIME 类型,确保时间格式为 2026-01-12 12:22:22 -- 执行日期: 2026-01-29 USE media_manager; -- 步骤1: 备份现有数据(建议先备份,以防万一) -- CREATE TABLE user_day_statistics_backup_20260129 AS SELECT * FROM user_day_statistics; -- 步骤2: 设置会话时区为东八区(确保时间转换正确) SET time_zone = '+08:00'; -- 步骤3: 修改 created_at 字段类型为 DATETIME -- MySQL 会自动将 TIMESTAMP 转换为 DATETIME,保持时间值不变 -- 先移除默认值约束(MySQL 8.0+ 需要) ALTER TABLE user_day_statistics MODIFY COLUMN created_at DATETIME NULL; -- 重新添加默认值约束 ALTER TABLE user_day_statistics MODIFY COLUMN created_at DATETIME DEFAULT CURRENT_TIMESTAMP; -- 步骤4: 修改 updated_at 字段类型为 DATETIME ALTER TABLE user_day_statistics MODIFY COLUMN updated_at DATETIME NULL; -- 重新添加默认值约束 ALTER TABLE user_day_statistics MODIFY COLUMN updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; -- 步骤5: 验证修改结果 -- 查看表结构 DESCRIBE user_day_statistics; -- 查看几条数据的时间格式(应该显示为 2026-01-12 12:22:22 格式) SELECT id, account_id, record_date, DATE_FORMAT(created_at, '%Y-%m-%d %H:%i:%s') AS created_at_formatted, DATE_FORMAT(updated_at, '%Y-%m-%d %H:%i:%s') AS updated_at_formatted, created_at, updated_at FROM user_day_statistics ORDER BY id DESC LIMIT 10;