【问题标题】:how to refer a column with integer data type foreign key in existing table with columns values如何在具有列值的现有表中引用具有整数数据类型外键的列
【发布时间】:2018-02-08 18:07:44
【问题描述】:

在我的父表(empid 整数)中是主键。在我的子表中有一些带有值的列。我需要在我的子表中添加一列(empid integer not null),我不能添加一列。因为子表有值。我需要一个具有默认值的添加列。如果我添加默认值为 0 的列。我需要在我的父表中有 0 值。所以任何其他方式来引用父表并设置默认值。我正在使用 PostgreSQL。

【问题讨论】:

  • 您可以添加一个可为空的列,用正确的数据填充它,并使其不可为空。
  • 请不要标记除您正在使用的RDBMS 之外的其他RDBMS。我已经为你删除了这些。

标签: postgresql


【解决方案1】:

在声明外键约束之前,首先使用默认值添加列。正确预填充它,然后创建外键约束。 一个不好的方法是在父表中创建一个 empid 为 0 的行,然后在具有外键约束的情况下在子表中创建默认值为 0 的列,但你不应该需要这个,这很荒谬。

【讨论】:

  • 还有其他方法可以添加数据类型为默认整数的列。默认值不是 0。任何其他选择
  • 不,我是新添加一列。我无法为新列设置默认值
  • 好的,你可以添加一个空列,没有默认值。尝试添加。之后,您可以填写所需的正确数据。
  • 是的,没错。但我想添加非空列。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-15
  • 2019-11-18
  • 2021-12-27
  • 2018-11-04
  • 1970-01-01
  • 2020-12-12
相关资源
最近更新 更多