MySQL 批量修改日期格式

141 字
1 分钟
MySQL 批量修改日期格式

发现部分表建表时,时间日期格式都是 datetime(4), 实际上精度只要到 datetime(3) 就够了,需要进行批量修改。可以通过遍历 infomation_schema 的库自动生成修改语句

SELECT
CONCAT(
'ALTER TABLE `',
TABLE_NAME,
'` MODIFY COLUMN `',
COLUMN_NAME,
'` datetime(3) ',
IF
( IS_NULLABLE = 'NO', 'NOT NULL', 'NULL' ),
IF
( COLUMN_DEFAULT = 'CURRENT_TIMESTAMP(4)', ' DEFAULT CURRENT_TIMESTAMP(3) ', ' ' ),
IF
( EXTRA = 'DEFAULT_GENERATED on update CURRENT_TIMESTAMP(4)', ' ON UPDATE CURRENT_TIMESTAMP(3) ', ' ' ),
IF
(
CHARACTER_LENGTH( COLUMN_COMMENT ) > 0,
CONCAT( "COMMENT '", COLUMN_COMMENT, "'" ),
''
),
';'
),
t1.*
FROM
`COLUMNS` t1
WHERE
TABLE_SCHEMA = '目标库'
AND DATA_TYPE = 'datetime'
AND DATETIME_PRECISION = 4;

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

MySQL 批量修改日期格式
https://blog.sephy.top/posts/mysql-批量修改日期格式/
作者
虾米
发布于
2022-03-08
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
虾米
coder
分类
标签
站点统计
文章
61
分类
4
标签
52
总字数
64,663
运行时长
0
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.13.9
文章许可
CC BY-NC-SA 4.0

当前页面没有目录