【问题标题】:Adding primary key to existing table [duplicate]向现有表添加主键[重复]
【发布时间】:2016-04-28 17:39:30
【问题描述】:

我可以在已经有一个主键的表中添加一个新列,以便新列和现有主键形成一个复合主键吗?

【问题讨论】:

标签: sql oracle composite-primary-key


【解决方案1】:

您不能直接执行此操作 - 您必须删除现有主键并创建一个新主键。请注意,主键列不得为null。例如:

-- Add the new column
-- Make sure it doesn't have any nulls in it
ALTER TABLE mytable ADD newcolumn NUMBER(10) NOT NULL DEFAULT 1;

-- Drop the primary key
ALTER TABLE mytable DROP PRIMARY KEY;

-- Add a new primary key
ALTER TABLE mytable ADD CONSTRAINT mytable_pk 
PRIMARY KEY (oldcolumn1, oldcolumn2, newcolumn);

【讨论】:

  • 谢谢它消除了我的疑惑
猜你喜欢
  • 2012-07-12
  • 2012-11-25
  • 1970-01-01
  • 1970-01-01
  • 2012-08-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-11
相关资源
最近更新 更多