复制表+新PK

时间:2009-05-08 12:50:10

标签: primary-key

我有一张没有PK的桌子。 该表有大约500行,所以我不想手动编写它们。 添加PK的最佳方法是什么?

谢谢,

拉​​法

4 个答案:

答案 0 :(得分:2)

ALTER TABLE T ADD PkColumn INT NOT NULL IDENTITY
ALTER TABLE T ADD CONSTRAINT PK_T PRIMARY KEY (PkColumn)

答案 1 :(得分:0)

Hm ..简单的程序,它读取所有记录并用PK将它们插入到新表中?

答案 2 :(得分:0)

ALTER TABLE CurrentTable ADD pkNewColumn INT IDENTITY (1,1) NOT NULL
ALTER TABLE CurrentTable ADD CONSTRAINT PK_pkNewColumn PRIMARY KEY (pkNewColumn)

答案 3 :(得分:0)

取决于您是否添加了将成为主键的新列,或者是否要将现有列指定为主键。修改现有列:

创建当前表的克隆,并使用

备份500行

INSERT INTO BACKUP_TABLE(COLA,COLB,COLC)从表中选择COLA,COLB,COLC;

然后使用主键重新创建原始表,并使用与上面类似的SQL语句将备份表复制到原始表中。