最近碰到一个很坑爹的事情。
我数据库有张表,它又有一主键,有自增的属性(+1)。现在主键已经到了1543,其中不可避免有断层(就是主键ID 为100 或 112被删除)。
问题 情况一:我现在添加数据时主键ID 重新从1开始自增(这是我现在出现的问题,主键ID重新从1开始自增)。
情况二:我现在添加数据时主键ID 是那些缺失的ID(弃)。
9 回答
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
情况一:从1开始自增长只能通过Truncate Table清空所有数据。
情况二:使用 Set Identity_Insert 表名 Off 语句关闭 Id 列写入保护,手动写入断层Id,然后再 Set Identity_Insert 表名 On
波斯汪
TA贡献1811条经验 获得超4个赞
1. 要从1开始自增,需要用TRUNCATE TABLE清空表中所有数据。
2.
a) 删除时不要直接删除,通过增加一个字段标识出已删除的记录。
b) 或者在代码中手动计算ID
陪伴而非守候
TA贡献1757条经验 获得超8个赞
可以 确定没有用TRUNCATE TABLE删除,只是用了delete删除了几条数据而已。
补充 情况一:我现在添加数据时主键ID 重新从1开始自增(这个是我现在每添加一条数据它是重新从1开始自增的,现在已经添加到了5,即添加了5条数据了)
情况二:我现在添加数据时主键ID 是那些缺失的ID(即我现在添加信息是替补了我删除的ID)
可能以上描述有问题导致 dudu 您老看花了眼,在此深感愧疚。
- 9 回答
- 0 关注
- 707 浏览
添加回答
举报
0/150
提交
取消