当前位置: 首页 > 知识库问答 >
问题:

ALTER TABLE,在not null列中设置null,PostgreSQL 9.1

华凯捷
2023-03-14

我有一个表与不null列,如何设置一个空值在这列作为默认值?

我是说,我想做这样的事情:

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;

共有3个答案

萧永望
2023-03-14

以以下格式执行命令:ALTER[COLUMN]列{SET|DROP}NOTNULL

酆意智
2023-03-14

以这种格式执行命令

ALTER TABLE tablename ALTER COLUMN columnname SET NOT NULL;

用于将列设置为不为空。

柯耀
2023-03-14
ALTER TABLE person ALTER COLUMN phone DROP NOT NULL;

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

 类似资料:
  • 问题内容: 我希望将值设置为如果我提交的表单中的文本框未放入任何内容。我怎样才能做到这一点?我尝试插入,但这只是将单词添加到字段中。 我不确定应该为此提供什么代码,我只是在编写UPDATE查询。 问题答案: 不要在更新语句中加引号。这应该工作:

  • 问题内容: 我将每个列都设置为,但是由于某种原因,我仍然能够在每个列中添加一个值。这是我的表信息(创建语法): 这是一个有效的示例: 有什么想法为什么会这样? 问题答案: 您要插入空字符串,而空字符串不是,要检查错误,请执行以下操作: 你会看到错误。该只对那些不值检查。 为了防止空字符串,您必须使用触发器,或者在执行查询之前对服务器端编程语言进行检查以将空字符串转换为。的示例触发器可能类似于:(这

  • 我尝试使用liquibase使用liquibase“addDefaultValue”语法将我的列的默认值设置为null: 但是向myTable插入新行显示默认值仍然设置为“false”,就像以前一样。所以liquibase更改集不起作用。 如何设置列默认值为null与liquibase?

  • 目前,我正在尝试将FLAG_IMMUTABLE用于待定意图。get活动(对于android 12)。但是,它不起作用(在“挂起的意外”中设置的参数为空)。如果我用FLAG_MUTABLE替换它,它确实有效。 PendingIntent.getService(活动,0,myServiceRequest estIntent,PendingIntent.FLAG_ONE_SHOT或PendingInte

  • 问题内容: 我需要在的末尾放置空对象。这是我为此目的所做的一个示例: 我期待着一种更高效,更智能的方式来做到这一点。是否有可能在实际列表内交换,以便将空节点放置在末尾,这样我就不需要其他两个列表(nullStrings,结果)和额外的迭代。 更新资料 排序不适用于我的情况。我仅为测试目的而编写的此示例代码。实际上,我有不同类型的对象。同样,排序也会破坏位置。 说我有这个,如果做排序之类的事情可能会

  • 问题内容: 我有一个部门实体,其关系如下: 许多部门 可以在 一个父部门中 : 一个上级部门 可以有 多个部门 : 我想实现下一个:当我 删除 一个 部门 ,那么 ik_parent_department_id 所有的参数 孩子 这个的 部门 设置为 空 。任何想法如何做到这一点? 问题答案: 您必须将子级的显式设置为null。 进行级联时,您只能删除子级。