你好自增ID呢 是会在你使用插入或者修改语句的时候进行递增+1的,打个比方 如果你的插入语句写错了插入数据不成功,但是数据库的id还是会+1,想要避免或者重新添加ID为73的数据可以打开表设计 把他的自动增长先设为否,然后 insert into 手动插一条id为73的数据进入 插入好之后再把字段增长给调回来
dbcc checkident ('table_name', reseed, new_reseed_value) 当前值设置为 new_reseed_value。如果自创建表后没有将行插入该表,则在执行 DBCC CHECKIDENT 后插入的第一行将使用 new_reseed_value 作为标识。否则,下一个插入的行将使用 new_reseed_value + 1。如果 new_reseed_value 的值小于标识列中的最大值,以后引用该表时将产生 2627 号错误信息。
方法二不会清空已有数据, *** 作比较灵活,不仅可以将自增值归零,也适用于删除大量连续行后,重新设置自增值并插入新的数据;或从新的值开始,当然不能和已有的冲突。
当表中有了一下数据后
执行语句 DBCC CHECKIDENT ('dboPerson', RESEED, 10) 后再通过Management Studio添加数据时,ID就会自动从11开始,也就是new_reseed_value+1开始
进入设计表界面
首先将该字段的数据类型选成数值型的,比如decimal或者bigint
然后在下面列的标识处,选择“是”
然后下面两行,标识种子:表示自动增长的起点是几,默认1
标识增量:表示每次自增的时候跨度是多少,默认每次自增1
先在控制面板中的管理工具中的ODBC中建立一个ODBC链接。然后再打开ACCESS中的外部资料,链接上你刚建立的ODBC链接。过程中你得知道SQL SERVER的账号sa的密码,否则你无法执行。ACCESS把ODBC中所有的表链接上以后,此表保存于SQL数据库中,但ACCESS可以直接使用,如链接后表名字前有DBO的字样,造成你的窗体无法使用,则你可以把表名字的DBO直接删掉就可以使用了。
很多时候我们需要重置某个表的自增列,让自增列重新从1开始记数。最蠢的方法当然是把该表删掉再重新建表了。其实,还有其它的方法可以重置自增列的值:
方法一:使用TRUNCATE
TABLE语句:
TRUNCATE
TABLE删除表中的所有行,而不记录单个行删除 *** 作,同时重置自增列。TRUNCATE
TABLE
在功能上与没有WHERE子句的DELETE语句相同;但是,TRUNCATE
TABLE
速度更快,使用的系统资源和事务日志资源更少。
方法二:使用DBCC
CHECKIDENT语句:
DBCC
CHECKIDENT在
SQL
Server
2008
R2
中检查指定表的当前标识值,如有必要,则更改标识值。还可以使用
DBCC
CHECKIDENT
为标识列手动设置新的当前标识值。
语法:
DBCC
CHECKIDENT
(
table_name
[,
{
NORESEED
|
{
RESEED
[,new_reseed_value
]
}
}
]
)
[
WITH
NO_INFOMSGS
]
参数:
table_name:是要对其当前标识值进行检查的表名。指定的表必须包含标识列。表名必须符合标识符规则。
NORESEED:指定不应更改当前标识值。
RESEED:指定应该更改当前标识值。
new_reseed_value:用作标识列的当前值的新值。
WITH
NO_INFOMSGS:取消显示所有信息性消息。
示例:我们要重置表t1的当前标识值为1,sql如下:
dbcc
checkident('t1',reseed,1)
alter table 表名 change 字段名 新字段名 新字段类型 auto_increment;
例子:
alter table student change sno sno int auto_increment;
字段名不变,则新字段名不变,但不可省,新字段类型也是
使用这个命令,要保证字段是主键,只有主键才可设置自动增长属性
可以设置每次增长多少的,不一定是连续的,但一定要有规律。
bigint
-2^63 (-9,223,372,036,854,775,808) 到dao 2^63-1 (9,223,372,036,854,775,807)
8 字节
int-2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647)
4 字节
smallint-2^15 (-32,768) 到 2^15-1 (32,767)
2 字节
tinyint0 到 255
扩展资料:
当访问DataTable对象时,请注意它们是按条件区分大小写的。例如,如果一个DataTable被命名为“mydatatable”,另一个被命名为“Mydatatable”,则用于搜索其中一个表的字符串被认为是区分大小写的。但是,如果“mydatatable”存在而“Mydatatable”不存在,则认为该搜索字符串不区分大小写。
一个DataSet可以包含数个DataTable对象,它们具有相同的TableName属性值和不同的Namespace属性值。有关使用DataTable对象的更多信息。
参考资料来源:百度百科-数据表
以上就是关于关于数据库表字段自增长的问题全部的内容,包括:关于数据库表字段自增长的问题、数据库表ID怎么设置自动增长、请问怎样在前台实现数据库的自增等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)