如何从表中删除空白注释?

时间:2013-12-21 09:51:36

标签: mysql comments

我有桌子,我试图删除评论,但它仍然给我一个空白的评论。

enter image description here

我用过

ALTER TABLE `b2b`.`mailsysy` 

COMMENT = '' ;

删除现有评论,但它将blak作为评论,如果我想删除所有评论,只需对其发表一条评论该怎么办。

修改

我也试过这个:

enter image description here

2 个答案:

答案 0 :(得分:0)

如果您不想检索空注释,请在查询中跳过它们:

SELECT table_comment 
FROM information_schema.tables 
WHERE table_name ='xxx' 
  AND TABLE_COMMENT IS NOT NULL
  AND TABLE_COMMENT <> ''

演示 - &gt; http://www.sqlfiddle.com/#!2/8664d/2

答案 1 :(得分:0)

TABLE_COMMENT中的TABLES列和COLUMN_COMMENT中的COLUMNS列是这些表格的一部分。它们不会分成任何子表。由于这个原因,虽然您将 comments 设置为空,但select查询返回一行。

您忽略的另一点是,您只选择TABLES表中的一列并省略其他列,但记录符合您的where条件。如果不满足where条件,则查询结果为Empty set (0.00 sec)。在您的情况下,查询在其他数据上产生了3行,其中注释设置为空。因此,您会看到3 rows in set (0.01 sec)

我认为你期望如果没有定义注释,查询应该没有从表中获取一行。如果这是要求,请注意,没有此类子表TABLE_COMMENTSCOLUMN_COMMENTS,如果正确定义可能在TABLES和{{1}上有父子关系} 分别。除非您定义了注释,否则在创建表时,它不会插入到相应的注释表中。当您在COLUMNSTABLE_COMMENTS表格上进行查询时,它会提取COLUMN_COMMENTS来满足您的条件。