写一条sql语句设置id列为主键

时间:2022-05-31 13:43:27
写一条sql语句设置id列为主键?就是让它能自动加1.谢谢回答。

15 个解决方案

#1



CREATE TABLE tb
(
id INT IDENTITY(1,1) PRIMARY KEY,
name VARCHAR(20)
)

#2


把此列设置为identity(1,1)
alter table tablename
     alter colunm colunmname identity(1,1)

#3


如果在创建表的时候忘记设id为主键,想在后面把它修改为主键,要怎么写?谢谢。

#4


引用 2 楼 tjvictor 的回复:
把此列设置为identity(1,1) 
alter table tablename 
    alter colunm colunmname identity(1,1)


这个就是吧,我真晕

#5


楼上的不是吧。 都没有PK关键词怎么会是设置主键尼

ALTER TABLE Employees
   ADD CONSTRAINT PK_EmployeesID PRIMARY KEY (EmployeeID)

设置主键关键词是 PRIMARY KEY 
CONSTRAINT PK_EmployeesID 设置主键名称

#6


那把id定义为主键之后,怎么取消呢?就是取消掉主键?

#7


alter table table_name
drop constraint constraint_name

#8


CREATE TABLE [dbo].[login] ( 
[login_id] [int] IDENTITY (1, 1) NOT NULL , 
) ON [PRIMARY] 
GO 

#9


引用 2 楼 tjvictor 的回复:
把此列设置为identity(1,1) 
alter table tablename 
    alter colunm colunmname identity(1,1)


这种写法对,应该不需要设置primary key了, identity不能再会产生重复了。

#10


ALTER TABLE Employees 
  ADD CONSTRAINT PK_EmployeesID PRIMARY KEY (EmployeeID)

							     

#11


创建表时候
CREATE TABLE tb
(
id INT IDENTITY(1,1) PRIMARY KEY,
)

添加时候
ALTER TABLE tb
  ADD CONSTRAINT PK_id PRIMARY KEY (id) 

去除时候

alter table tb
drop constraint PK_id 

#12


先用alter把id设为主键,再让它自加1 identity(1,1)
(种子值为1,步长为1)

#13


如是新建一个表

CREATE TABLE #t
(
id INT IDENTITY(1,1) PRIMARY KEY,
sname VARCHAR(20)
)

insert #t values('美丽人生')
insert #t values('love yao')
select * from #t

id          sname
----------- --------------------
1           美丽人生
2           love yao

(2 row(s) affected)

--------------------------------------------------------
若是对已经存在的表加上主键约束

CREATE TABLE #t2
(
id int,
sname NVARCHAR(20)
)

alter table #t2
add constraint PK_ID PRIMARY KEY (ID)

--------------------------------------------------------
修改自增列
一种方法是在企业管理器中直接修改ID列的属性
另一种方法是添加一个新的自增列代替原来的列下面这种方法编译不过去

alter table tablename 
    alter colunm colunmname identity(1,1) 


正确方法是

CREATE TABLE #t3
(
id int,
sname NVARCHAR(20)
)
insert #t3 values(1,'abc1')
insert #t3 values(3,'abc2')
insert #t3 values(43,'abc3')
insert #t3 values(23,'abc4')
select * from #t3
go
alter table #t3
drop column id
alter table #t3
add ID int identity(1,1)
select * from #t3
go



----------- --------------------
1           abc1
3           abc2
43          abc3
23          abc4

(4 row(s) affected)

sname                ID
-------------------- -----------
abc1                 1
abc2                 2
abc3                 3
abc4                 4

(4 row(s) affected)

#14


ALTER TABLE 表名 ADD 列名 int identity(1,1) primary key

#15


alter 之后add primary key约束就可以了

#1



CREATE TABLE tb
(
id INT IDENTITY(1,1) PRIMARY KEY,
name VARCHAR(20)
)

#2


把此列设置为identity(1,1)
alter table tablename
     alter colunm colunmname identity(1,1)

#3


如果在创建表的时候忘记设id为主键,想在后面把它修改为主键,要怎么写?谢谢。

#4


引用 2 楼 tjvictor 的回复:
把此列设置为identity(1,1) 
alter table tablename 
    alter colunm colunmname identity(1,1)


这个就是吧,我真晕

#5


楼上的不是吧。 都没有PK关键词怎么会是设置主键尼

ALTER TABLE Employees
   ADD CONSTRAINT PK_EmployeesID PRIMARY KEY (EmployeeID)

设置主键关键词是 PRIMARY KEY 
CONSTRAINT PK_EmployeesID 设置主键名称

#6


那把id定义为主键之后,怎么取消呢?就是取消掉主键?

#7


alter table table_name
drop constraint constraint_name

#8


CREATE TABLE [dbo].[login] ( 
[login_id] [int] IDENTITY (1, 1) NOT NULL , 
) ON [PRIMARY] 
GO 

#9


引用 2 楼 tjvictor 的回复:
把此列设置为identity(1,1) 
alter table tablename 
    alter colunm colunmname identity(1,1)


这种写法对,应该不需要设置primary key了, identity不能再会产生重复了。

#10


ALTER TABLE Employees 
  ADD CONSTRAINT PK_EmployeesID PRIMARY KEY (EmployeeID)

							     

#11


创建表时候
CREATE TABLE tb
(
id INT IDENTITY(1,1) PRIMARY KEY,
)

添加时候
ALTER TABLE tb
  ADD CONSTRAINT PK_id PRIMARY KEY (id) 

去除时候

alter table tb
drop constraint PK_id 

#12


先用alter把id设为主键,再让它自加1 identity(1,1)
(种子值为1,步长为1)

#13


如是新建一个表

CREATE TABLE #t
(
id INT IDENTITY(1,1) PRIMARY KEY,
sname VARCHAR(20)
)

insert #t values('美丽人生')
insert #t values('love yao')
select * from #t

id          sname
----------- --------------------
1           美丽人生
2           love yao

(2 row(s) affected)

--------------------------------------------------------
若是对已经存在的表加上主键约束

CREATE TABLE #t2
(
id int,
sname NVARCHAR(20)
)

alter table #t2
add constraint PK_ID PRIMARY KEY (ID)

--------------------------------------------------------
修改自增列
一种方法是在企业管理器中直接修改ID列的属性
另一种方法是添加一个新的自增列代替原来的列下面这种方法编译不过去

alter table tablename 
    alter colunm colunmname identity(1,1) 


正确方法是

CREATE TABLE #t3
(
id int,
sname NVARCHAR(20)
)
insert #t3 values(1,'abc1')
insert #t3 values(3,'abc2')
insert #t3 values(43,'abc3')
insert #t3 values(23,'abc4')
select * from #t3
go
alter table #t3
drop column id
alter table #t3
add ID int identity(1,1)
select * from #t3
go



----------- --------------------
1           abc1
3           abc2
43          abc3
23          abc4

(4 row(s) affected)

sname                ID
-------------------- -----------
abc1                 1
abc2                 2
abc3                 3
abc4                 4

(4 row(s) affected)

#14


ALTER TABLE 表名 ADD 列名 int identity(1,1) primary key

#15


alter 之后add primary key约束就可以了