繁体   English   中英

如何在mysql中批量删除列注释?

[英]how can i batch delete column comments in mysql?

我知道我可以通过alter table tal_name modify column Field Type comment ''删除列注释。
但是,如果我有很多要删除的注释,我该如何通过sql脚本来删除?
第一次,我想使用show full columns from tal_name来获取完整的信息,因此我可以使用光标删除注释,但是我发现我无法像使用select语句那样使用show语句的结果。
我也无法根据show结果create view
也许我的想法是错误的,所以有什么办法可以批量删除评论?
任何帮助表示赞赏。

我想您只需要做一次,就可以按照以下两个步骤进行:

首先执行此查询:

select concat('alter table ', '`',table_name,'` ',
       'modify column `', column_name,'` ',
        column_type,
        ifnull(concat(' character set ', character_set_name), ''),
        ifnull(concat(' collate ', collation_name), ''),
        if(is_nullable = 'no', ' not null ', ''),
        if(column_default is null, '', concat(' default ', quote(column_default))),
        ' ', extra, ';')
            as column_definition
from    information_schema.columns
where   table_schema like 'db%'
    and column_comment is not null;

...将表架构上的条件更改为您的案例。 输出将是每行一条SQL语句:

column_definition
---------------------------------------------------------
alter table `tab` modify column `id` int(11) not null auto_increment;
alter table `tab` modify column `name` varchar(100) not null;

在该输出中复制SQL语句并执行它们。 缺少comment子句将删除这些列上的注释。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM