我有桌子,我试图删除评论,但它仍然给我一个空白的评论。
我用过
ALTER TABLE `b2b`.`mailsysy`
COMMENT = '' ;
删除现有评论,但它将blak作为评论,如果我想删除所有评论,只需对其发表一条评论该怎么办。
修改
我也试过这个:
答案 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_COMMENTS
或COLUMN_COMMENTS
,如果正确定义可能在TABLES
和{{1}上有父子关系} 分别。除非您定义了注释,否则在创建表时,它不会插入到相应的注释表中。当您在COLUMNS
或TABLE_COMMENTS
表格上进行查询时,它会提取COLUMN_COMMENTS
来满足您的条件。