这个是不可以的,几乎每一个数据库引擎都是按照这样一个模式进行序号的递增的。如果你要强制进行修改的话,不要将ID设为自增,而是创建一个出发器,在删除之后执行,对ID重新编号
创新互联建站始终坚持【策划先行,效果至上】的经营理念,通过多达十年累计超上千家客户的网站建设总结了一套系统有效的推广解决方案,现已广泛运用于各行各业的客户,其中包括:纸箱等企业,备受客户赞誉。
简单的方法就是9全用00000..0009(99个0)来表示
也就是高位用0补足100位,这样就能正确判断大小了
输出的时候把前面的0去掉
如果你这个是非自增长的,又有可能被删除掉,除非用另外的表来记录最大的ID,不然不可能取到的。如你需求,要取得ID是4,必须通过另外记录,不然是不可能的。
如果没有删除,或是就算删除了,但可以使用以前用过的ID,则
select max(id) from table_name
你应该是把userid这一列设置为标识列了!
你可以打开企业管理器检查一下,具体步骤:
1.打开企业管理器,打开相应的数据库,找到TB_USER表
2.在TB_USER表 上点击右键,选择“设计表”
3.点下userid列,看下面的标识 如果为“是” ,你改成“否” 就可以插入数据了。
最后记得再改回去啊!
不会出错,既然是复合主键,保存的时候会比较以前的主键,只有姓名和id完全相同才认为主键重复
1.新建一数据表,里面有字段id,将id设为为主键
create table tb(id int,constraint pkid primary key (id))
create table tb(id int primary key )
2.新建一数据表,里面有字段id,将id设为主键且自动编号
create table tb(id int identity(1,1),constraint pkid primary key (id))
create table tb(id int identity(1,1) primary key )
3.已经建好一数据表,里面有字段id,将id设为主键
alter table tb alter column id int not null
alter table tb add constraint pkid primary key (id)
4.删除主键
Declare @Pk varChar(100);
Select @Pk=Name from sysobjects where Parent_Obj=OBJECT_ID('tb') and xtype='PK';
if @Pk is not null
exec('Alter table tb Drop '+ @Pk)