首页 > 解决方案 > 删除 Snowflake 中的列注释

问题描述

Snowflake 的 文档中可以清楚地看到如何在表格列上添加或覆盖评论,但看起来您无法在不重新创建表格的情况下删除评论。

CREATE TABLE "My_Table" (
  "my_column" INT
);
ALTER TABLE "My_Table" ALTER "my_column" COMMENT 'New Comment';  -- Works
ALTER TABLE "My_Table" ALTER "my_column" COMMENT NULL; -- Fails
ALTER TABLE "My_Table" ALTER "my_column" COMMENT '';  -- Works, but prefer NULL

如上所示,我能找到的最好的方法是将注释设置为'',但我真的希望它为空。有谁知道如何删除评论?

标签: sqlsnowflake-cloud-data-platform

解决方案


步骤是:

  1. 创建一个新列 column2
  2. 更新表格,使 column2 = column1
  3. 删除列 1
  4. 然后将column2重命名为column1;

不确定它是否值得努力,但这里有:

alter table my_table add column my_column2 int;

update my_table set my_column2 = my_column;

alter table my_table drop column my_column;

alter table my_table rename column my_column2 to my_column;

describe table my_table ;

脚本验证 - 图像


推荐阅读