【问题标题】:ALTER TABLE, set null in not null column, PostgreSQL 9.1ALTER TABLE,在非空列中设置空,PostgreSQL 9.1
【发布时间】:2012-11-18 14:10:18
【问题描述】:

我有一个非空列的表,如何在该列中设置一个空值作为默认值?

我的意思是,我想做这样的事情:

postgres=# ALTER TABLE person ALTER COLUMN phone SET NULL;

但它显示:

postgres=# ALTER TABLE person ALTER COLUMN phone SET NULL;
ERROR:  syntax error at or near "NULL"
LINE 1: ALTER TABLE person ALTER COLUMN phone SET NULL;

【问题讨论】:

标签: postgresql null postgresql-9.1


【解决方案1】:
ALTER TABLE person ALTER COLUMN phone DROP NOT NULL;

手册中的更多详细信息:http://www.postgresql.org/docs/9.1/static/sql-altertable.html

【讨论】:

    【解决方案2】:

    以这种格式执行命令

    ALTER TABLE tablename ALTER COLUMN columnname SET NOT NULL;
    

    用于将列设置为不为空。

    【讨论】:

    • 列名不能用单引号引起来
    • 这对我有帮助,尽管它没有回答问题。
    【解决方案3】:

    以这种格式执行命令:

    ALTER [ COLUMN ] column { SET | DROP } NOT NULL

    【讨论】:

      【解决方案4】:
      First, Set :
      ALTER TABLE person ALTER COLUMN phone DROP NOT NULL;
      

      【讨论】:

      • 来到这里搜索如何将列设置为 NOT NULL。有了你的回答,我可以想出解决方案:ALTER TABLE person ALTER COLUMN phone SET NOT NULL。谢谢!
      猜你喜欢
      • 2010-12-21
      • 2022-11-11
      • 2011-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-08
      • 2012-04-09
      • 2018-07-04
      相关资源
      最近更新 更多