A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐刚 中级黑马   /  2012-4-6 18:29  /  2969 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  数据表中设置了Id字段自增,然后delete原先的数据,再insert若干数据,没有办法让Id字段再重新从1开始么?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

7 个回复

倒序浏览
试一下TRUNCATE TABLE 表名
          GO

回复 使用道具 举报
方法2:dbcc checkident ('table_name', reseed, new_reseed_value)  当前值设置为  new_reseed_value。如果自创建表后没有将行插入该表,则在执行  DBCC  CHECKIDENT  后插入的第一行将使用  new_reseed_value  作为标识。否则,下一个插入的行将使用  new_reseed_value  +  1。如果  new_reseed_value  的值小于标识列中的最大值,以后引用该表时将产生  2627  号错误信息(这条没有用过,你可以试试)

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
你可以把他们update,条件写成where id=××,这样可以保持原来的id

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
没有办法  那个自增字段只增不减。插一条数据自增1,

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
我目前还不知道怎么减下来。主键一般都不要用来代表有具体意义的东西。主键你最好用GUID,你可新增一个Id字段,来给你的每个成员手动编号……   如果是ADO.Net中的话,你可以使用程序来自动编号,而且也可以随时删掉编号,更改编号,检测编号。很方便的啊!!  用不着那样自增,那样不保险……  最好不要那样用,除非你练习的时候可以用用……

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
方法一:如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数
        truncate table 表名
方法二:dbcc checkident ('table_name', reseed, new_reseed_value) ,
  例如:DBCC CHECKIDENT (T_Person,reseed,20) ,当插入数据是id 子动会总21开始,如果原来id有大于20的话,就会出现重复值 报错。
  用这种方法就要确认开始插入id 的值与原来的不会重复。
        

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
pray 高级黑马 2014-4-26 03:20:09
8#
我艹!(此回复虽仅有两个字,却深刻地表达了回复人的深深的祝福与刻骨的情感,可谓言简意赅,一字千金,字字扣人心弦,字字催人泪下,足可见回复人扎实的文字功底和信手拈来的写作技巧及惨绝人环的创新能力。实是佩服佩服!再加上以感叹号收尾,点睛之笔,妙笔生花,意境深远,照应前文,升华主题,把回复人的感情表达得淋漓尽致,给人无限感动和惆怅,有浑然天成之感,实乃回复中之极品,祝福中之绝笔.)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马