首页 新闻 会员 周边 捐助

关于MSSQL批量导入一个旧表的40多万数据,最后自增长不能改回来了【急】

0
悬赏园豆:50 [已解决问题] 解决于 2012-12-17 13:30

我们公司原来有个数据库,但是现在把网站重新开发了,有些字段不一样

其中一个新闻表,老数据库有40多万的数据,导入到新表中了,导入是导入了。

前提是老数据库有自增长的ID,所以导入新表的时候,我们将新表自增长暂时去除了

导入成功

但是就不能把新表的自增长改回来了,因为数据量太多,提示了数据库没反应,报错

 

 

求SQL大师有没有懂的,我相信园子里面肯定有大师级别的,比如游戏数据库管理,游戏数据毕竟很多的,求求求啊

Nemo_Li的主页 Nemo_Li | 初学一级 | 园豆:6
提问于:2012-12-10 14:48
< >
分享
最佳答案
0

不能改回来的原因我分析有两个原因,

1,自增字段不是唯一的整型值2,数据库硬件配置低,数据库响应的时间过长,

一般情况下是可以改回来的。

对于这样的情况,我建议是你可以重新导,

新建一个相同结构的表,用楼上的方法

SET IDENTITY_INSERT [TableName] ON

insert() valus(......)

SET IDENTITY_INSERT [TableName] OFF

或者用管理器上面的导入方法。

 

 

 

 

 

收获园豆:50
amityat | 菜鸟二级 |园豆:476 | 2012-12-10 16:55
其他回答(3)
0

清空数据,重新导,导入时

SET IDENTITY_INSERT [TableName] ON

自增ID就可以允许写入了,当然,导完了记得改成OFF

你也可以用SQLSERVER管理器的数据导入导出工具,里面也可以设定启用标识插入就可以导入自增ID了。

I,Robot | 园豆:9783 (大侠五级) | 2012-12-10 15:17
0

你可以在你的新的数据库中新建一张同样的表,设置id为自增的

然后你图形化导入的时候,可以选择旧的数据中的导入列的和其相对应的新表的列,排除旧表的自增字段,就行了啊

chenping2008 | 园豆:9836 (大侠五级) | 2012-12-10 15:51
0

本人觉得哈 从新建一张表  所两个表的数据都导入在一起。。然后删除你要导入数据的表里的所有数据、、新表导入这个表。。

在 水 一 方 | 园豆:1097 (小虾三级) | 2012-12-11 09:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册