关于IDENTITY
表中某列设为int,自动增长型的,也即IDENTITY为(1,1),现在我想为此表重新导入数据,而此列的数据也为以前的,该要怎么办?我是想先去掉自动增长的属性,插入后再还原此属性。但是执行alter 表 列 IDENTITY为(1,1) NOT NULL命令会出错?
问题点数:100、回复次数:5
1 楼得分 0
alter table无法直接实现这种处理.
由于这种处理需要删除标识列(或者是删除表)来处理,建议在企业管理器中进行
2 楼pbsql(风云)回复于 2005-05-23 10:05:22 得分 50
SET IDENTITY_INSERT yourtable ON
向yourtable导入数据
SET IDENTITY_INSERT yourtable OFF
3 楼 得分 50
如果只是为了导入数据保持源数据中的标识值. 建议使用下面的方法处理:
1. 使用sql语句导入
set identity_insert 目标表 on
insert 目标表(列的列表) --一定要写上
select 列的列表 from 源表 --源表和目标表的列要对应
set identity_insert 目标表 off
4 楼 得分 0
如果是使用sql的导入导出向导完成导数据处理,则在"选择源表和视图"的步骤中,单击"转换"按钮,将"启用标识插入"选上.
浙公网安备 33010602011771号