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

时间:2016-07-25 09:07:08

标签: mysql

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

1 个答案:

答案 0 :(得分:0)

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

首先执行此查询:

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子句将删除这些列的注释。