我知道我可以通过alter table tal_name modify column Field Type comment ''删除专栏评论。
但是,如果我有很多评论要删除,我怎么能通过sql脚本来删除呢?
第一次我想使用show full columns from tal_name来获得完整的信息,这样我就可以使用游标来删除评论,但我发现我不能像使用select语句一样使用show语句的结果。
我也不能从show结果中create view。
也许我的想法是错的,有没有批量删除评论的方法?
任何帮助都是非常感谢的。
发布于 2016-07-25 17:59:39
因为我认为你只需要做一次,所以你可以遵循以下两个步骤:
首先执行以下查询:
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语句:
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子句将删除这些列上的注释。
https://stackoverflow.com/questions/38563672
复制相似问题