首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何批量删除mysql中的列注释?

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

Stack Overflow用户
提问于 2016-07-25 17:07:08
回答 1查看 546关注 0票数 0

我知道我可以通过alter table tal_name modify column Field Type comment ''删除专栏评论。

但是,如果我有很多评论要删除,我怎么能通过sql脚本来删除呢?

第一次我想使用show full columns from tal_name来获得完整的信息,这样我就可以使用游标来删除评论,但我发现我不能像使用select语句一样使用show语句的结果。

我也不能从show结果中create view。

也许我的想法是错的,有没有批量删除评论的方法?

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2016-07-25 17:59:39

因为我认为你只需要做一次,所以你可以遵循以下两个步骤:

首先执行以下查询:

代码语言:javascript
复制
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;

将表架构上的条件...changing到您的案例中。输出将是每行一条SQL语句:

代码语言:javascript
复制
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子句将删除这些列上的注释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38563672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档