我有一张桌子:
create table A (
KEY VARCHAR(1024) not null
);
其中KEY
是主键。现在我想创建另一个自动增量列ID
BIGINT,删除退出主键约束并将创建的列ID
作为主键。
如何在不丢失数据的情况下执行此操作?
当然我可以使用临时表,但试着找到正确的方法。
答案 0 :(得分:3)
ALTER TABLE A DROP PRIMARY KEY;
ALTER TABLE A ADD COLUMN ID BIGINT NOT NULL WITH DEFAULT 0;
ALTER TABLE A ALTER COLUMN ID SET GENERATED ALWAYS AS IDENTITY(START WITH 1, INCREMENT BY 1);
REORG TABLE A;
UPDATE TABLE A SET ID = DEFAULT;
ALTER TABLE A ADD PRIMARY KEY (ID);
答案 1 :(得分:1)