| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- -- 修复 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;
|