【发布时间】:2022-01-07 12:52:12
【问题描述】:
所以我有一个大约 50 多行的表。目前该表中没有任何主键/ID 列。现在,如果我必须添加一个主键列,它不允许我这样做,因为表中已经存在数据,因此没有唯一列或列组合。谁能建议我如何将主列添加到包含数据的现有表中。
【问题讨论】:
-
在表中包含数据并不禁止添加 PK 或 UK。可能的问题是,如果您想要的任何组合都有重复项。如果是这种情况,那么您需要决定如何处理重复项,或者修改那里的列,或者删除重复项。当您消除重复项时,您肯定可以添加一个 PK/UK
-
或添加一个新列以用作合成主键、标识列(如果您使用的是最新版本的 Oracle)或通过序列和触发器设置。这取决于完整的要求是什么,PK 将用于什么 - 如果另一个表已经有数据现在需要被视为该表的 FK,那么您仍然有非唯一数据的问题......跨度>
-
如果您当前的列(或组合)都不能作为键,您必须添加一个新列。这回答了你的问题了吗? Add a auto increment primary key to existing table in oracle
标签: oracle oracle-sqldeveloper