sqlserver修改主键为自增

使用PowerDesigner创建一张表, 拷贝建表语句发现ID不是自增的, 以下是修改语句:

ALTER TABLE USER_JOB_EXE_REC DROP COLUMN id;
ALTER TABLE USER_JOB_EXE_REC ADD ID INT IDENTITY (1, 1);

注:这只适用于刚建完表的情况,如果此时主键已经使用过了,表中存在许多数据,不能使用该方法删除主键,会导致数据丢失。(可行的方法,建一张相同的表来存储数据,在修改,插入)。

打开建表语句后可见 [ID] int NOT NULL IDENTITY(1,1) , 确实是自增的..

-- ----------------------------
-- Table structure for USER_JOB_EXE_REC
-- ----------------------------
DROP TABLE [dbo].[USER_JOB_EXE_REC]
GO
CREATE TABLE [dbo].[USER_JOB_EXE_REC] (
[TYPE] varchar(2) NULL ,
[TASK_NAME] varchar(255) NULL ,
[FILE_NAME] varchar(255) NULL ,
[TXN_DATE] varchar(16) NULL ,
[EXE_START_TIME] datetime NULL ,
[EXE_END_TIME] datetime NULL ,
[DURATION] varchar(16) NULL ,
[EXE_RESULT] varchar(2) NULL ,
[ERR_CODE] varchar(3) NULL ,
[ERR_MSG] text NULL ,
[REMARK] varchar(255) NULL ,
[EXT_ATTR1] varchar(255) NULL ,
[EXT_ATTR2] varchar(255) NULL ,
[ID] int NOT NULL IDENTITY(1,1)
) GO
DBCC CHECKIDENT(N'[dbo].[USER_JOB_EXE_REC]', RESEED, 9)
GO

感谢:

  https://blog.csdn.net/jim8757/article/details/80605062

  https://blog.csdn.net/weixin_42153410/article/details/83281082

  https://blog.csdn.net/weixin_38362455/article/details/80108555

上一篇:powerdesigner设置主键为自增字段,设置非主键为唯一键并作为表的外键


下一篇:Linux常用命令-jdk和Tomcat