
SQLServer中标识列可用identity属性来完成的,下面分别是创建时指定标识列和在现有表添加标识列
1、创建表时指定标识列
下面的例子创建一个包含名为ID,类型为int,
createtableTest
(idintidentity(1,1),--标识列,种子为1,递增量为1
Namevarchar(50)
)
2、在现有表中添加标识列
altertableTest
addidintidentity(1,1)--标识列,种子为1,递增量为1
注意:当包含标识列的表刚刚创建,没有经过任何插入 *** 作时,使用ident_current函数得到的值为标识列的种子值
将你设置标识列的SQL语言贴出来,看看问题在哪里?-------------------------------------------
不要手动设置,你用查询分析器,写好SQL语言,然后按Ctrl+L如果优化成功,则再按Ctrl+E执行设置标识列。
------------------------------------------
例如你的表名是:
AllDay
要设置的标识列是:yyyymmdd则
1、修改为非空
alter
table
allday
alter
column
yyyymmdd
varchar(10)
not
null
Ctrl+L->Ctrl+E
2、将这个列设为主键(标识列---不能重复)
ALter
table
AllDay
add
primary
key(yyyymmdd)
Ctrl+L->Ctrl+E
-----------------------------------------------
自动增长列有点麻烦的,如果你想导入的数据列和原表具有相同的自动增长功能,这个在SQL中不能实现(你手动设置之所以成功,实际上是删除再建立的过程),一般你可以这样
alter
table
allday
add
idcol
int
identity
这个就增加了一个自动增长列,然后,你再将原来的列删除。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)