违反了 PRIMARY KEY 约束 ''。不能在对象 '' 中插入重复键 但是还能成功插入信息

违反了 PRIMARY KEY 约束 ''。不能在对象 '' 中插入重复键 但是还能成功插入信息 这是为什么呢? 我选择使用的C#语言 调用SQLserver数据库~
再弱弱的补一句。。。神马叫做主键列自增,,,我插入数据时用的是insert into 数据库 values(……) 里面不写主键就是主键列自增么? 求详解~~

主键:
PRIMARY KEY 约束唯一标识数据库表中的每条记录。
主键必须包含唯一的值。
主键列不能包含 NULL 值。
每个表都应该有一个主键,并且每个表只能有一个主键
只增列:
alter table talbeName Add ColumnName Int IDENTITY(1,1)
再插入数据时,不能插入自增列,有系统自动产生
如:
create table test
( id int identity(1,1),
name char(10)
)
id就是自增列
插入数据时
只能
insert into test(name)values('小李')
select *from test 的到得结果就是
id name
1 小李
下面就是错误的
insert into test(id,name)values('23','小李')
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-11
主键列自增使用关键字identity(1,2) 其中1是表示从1开始增加,2是每次加2
例如:create table stuinfo
(
stuno int identity(1,1) ,
stuname varchar(20)
)
--添加主键约束
alter stuinfo add constraint PK_stuinfo_stuno primary key(stuno)
向表中插入数据时不需插自增列
insert into stuinfo values('张三')
当identity(1,1)时 可以省略(1,1)即写成identity
注意stuno如果是自增列,数据类型必须是int 且不能为空
第2个回答  2012-06-07
自增列不能在insert语句中指定,由DBMS自动生成
相似回答