Sql主键⾃增
环境:SQL Server 2008 问题:设置主键和把它设为⾃增。
  环境:SQL Server 2008
  问题:设置主键和把它设为⾃增。
  解决:点击table->选中表->design->选中需要设置主键的字段,单击右键"设置主键"即可。
  若要设置主键⾃增,在列属性中到标识规范,单击左边的"+"号,把否改为是,其他默认即可。
create table tableName(
id int identity(1,1) primary key,
data varchar(50)
)
/*
记住我
identity(1,1)就是⾃动增加,第⼀个参数是种⼦值,第⼆个是增量值;
primary key是主键
*/
Insert into tableName values('aaaaa');就会⾃动在数据表中⾃增添加主键值。
注意:如果主键没有设置为⾃增那么这条语句将⽆法执⾏,会提⽰:
服务器: 消息 213,级别 16,状态 4,⾏ 1
插⼊错误: 列名或所提供值的数⽬与表定义不匹配。
当然,这样写插⼊语句是⼀个很不好的习惯,因为⼀旦有⼀天主键⾃增因为临时原因被取消掉,则插⼊语句将同时跟着失效。正确的写法应该是:
INSERT INTO tableName (data) VALUES('somedata');
另外如果tableName 已经开启了主键⾃增,那么下⾯的语句将执⾏不了:
INSERT INTO tableName (id ,data) VALUES(1,'TETS');
服务器: 消息 544,级别 16,状态 1,⾏ 1
当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'withoutIdentity' 中的标识列插⼊显式值。
如果需要向⾃增主键写⼊数据,可以先将⾃增约束取消,然后写⼊数据,再将⾃增约束加上。