Q004Mysql批量修改字段注释
MYSQL本⾝没有这种批量的命令。不过你可以⾃⼰⽣成 alter table t modify  的脚本,⼀次性把所有需要修改的列的注释更新。先利⽤sql进⾏表格的信息查询来制作执⾏语句(⽹上轮⼦):
SELECT CONCAT(
'alter table ',
table_schema, '.', table_name,
' modify column ', column_name, ' ', column_type, ' ',
IF(is_nullable = 'YES', ' ', 'not null '),
IF(column_default IS NULL, '',
IF(
data_type IN ('char', 'varchar')
OR
data_type IN ('date', 'datetime', 'timestamp') AND column_default != 'CURRENT_TIMESTAMP',
CONCAT(' default ''', column_default, ''''),
CONCAT(' default ', column_default)
)
),
IF(extra IS NULL OR extra = '', '', CONCAT(' ', extra)),
' comment ''', column_comment, ''';'
批量更新sql语句
) '组合语句'
FROM lumns
WHERE table_schema = 'study'              -- 库名
AND table_name = 'jsl_bond_info_temp_t' -- 表名
-
-------------------------------------------------------------------------
alter table study.jsl_bond_info_temp_t modify column put_price decimal(15,3) comment '';
alter table study.jsl_bond_info_temp_t modify column turnover_rt decimal(15,3) comment '';
alter table study.jsl_bond_info_temp_t modify column curr_iss_amt decimal(15,3) comment '';
alter table study.jsl_bond_info_temp_t modify column rating_cd varchar(10) comment '';
alter table study.jsl_bond_info_temp_t modify column issuer_rating_cd varchar(10) comment '';
alter table study.jsl_bond_info_temp_t modify column guarantor varchar(240) comment '';
alter table study.jsl_bond_info_temp_t modify column repo_cd varchar(30) comment '';
alter table study.jsl_bond_info_temp_t modify column sincrease_rt varchar(10) comment '';
alter table study.jsl_bond_info_temp_t modify column premium_rt varchar(10) comment '';
alter table study.jsl_bond_info_temp_t modify column year_left decimal(15,3) comment '';
alter table study.jsl_bond_info_temp_t modify column ytm_rt varchar(10) comment '';
alter table study.jsl_bond_info_temp_t modify column increase_rt varchar(10) comment '';
alter table study.jsl_bond_info_temp_t modify column volume decimal(15,3) comment '';
alter table study.jsl_bond_info_temp_t modify column short_maturity_dt date comment '';
alter table study.jsl_bond_info_temp_t modify column dblow decimal(15,3) comment '';
alter table study.jsl_bond_info_temp_t modify column force_redeem_price decimal(15,3) comment '';
alter table study.jsl_bond_info_temp_t modify column put_convert_price varchar(20) comment '';
alter table study.jsl_bond_info_temp_t modify column convert_amt_ratio varchar(10) comment '';
⾃⼰再加注释。。。。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。