看你的表的列id是否是"auto_increment":
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、网站制作、霍州网络推广、微信小程序、霍州网络营销、霍州企业策划、霍州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供霍州建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
show
create
table
表名;
若列id不是auto_increment的话,那肯定不能自增长了,修改其属性为"auto_increment"即可
alter
table
【表名】
modify
[name
varchar(22)];你可以讲name变为id
int(5)
NOT
NULL
auto_increment
PRIMARY
KEY
,试试
:id
int
identity(1,1)
解释:
identity是自动增长参数。
进入数据库后,
先 use 数据库名;
然后:
alter table customers rename custs;
思路:
1、首先搞清楚所有表的主外键关系
2、取消全部表的主键自增标识列,方便你后续的直接修改ID
例如:
exec sp_configure 'allow updates',1
reconfigure with override
GO
----取消标识列标记
update syscolumns set colstat = 0 where id = object_id('表名') and colstat = 1
GO
----恢复标识列标记
update syscolumns set colstat = 1 where id = object_id('表名') and name = '标识列名称'
3、写个SQL脚本,修改ID,在修改的时候,一并更新全部表里的此ID值
例如:
declare @old_id as int,@new_id as int
select @old_id=12,@new_id=123
update 表名1 set id=@new_id where id=@old_id
update 表名2 set id=@new_id where id=@old_id
update 表名3 set id=@new_id where id=@old_id
.....
update 表名n set id=@new_id where id=@old_id
日常开发中经常遇到AUTO_INCREMENT类型自增ID值不符合预期的情况,本经验为大家总结如何修改自增ID的初始值。
方法/步骤
创建表时设置递增ID:
create table users (pkid int auto_increment primary key,...)
2
表创建完成后设置递增ID:
alter table users add pkid int auto_increment primary key
注意:自增字段,一定要设置为primary key.
3
很多时候不希望pkId从1开始,我们可能希望他从10000开始:
alter table users AUTO_INCREMENT=10000;
4
你也可以修改现有的递增值, 比如大批量删除数据后,想id从654321退回123456开始:
alter table users AUTO_INCREMENT=123456;