sqlserver如何在不删除原来内容的情况下修改修改id为自增(默认之前的id虽然不是自增但是实际是按序排列的)
2011-07-01 10:20
447 查看
如果之前设置好主键,但是没有设置主键为自动递增时,想要修改主键为自增同时又想保留原数据,先将修改方法整理如下:
环境:sqlServer2008
存在表Employee,其中id为主键
1.复制表结构:重新建表Employee_3,包含除id字段意外的所有字段
2.执行:alert table Employee_3 add id int identity(1,1)
3.打开自增插入字段set identity_insert Employee_t on
4.执行
insert into Employee_3(id,EmployeeCode,Name,EmployeeAccount,ActualName,IdCardNum,Sex,BirthDay,
NativePlace,Married,DocumentState,JoinTime,Center_Id,PositionDef_Id,PositionNumber,
Phone,MobilePhone,Email,FAX,DismissReason,BankName,BankBranch,AccountName,BankAccount,
Active,DismissDate,Remark,EmpType,EmpCode2,Reserve5,Reserve6,Reserve7,Reserve8,
Reserve9,Reserve10,BankName2,AccountName2,BankAccount2,JobTitleLevel,JobTitleConfirmTime,Nationality,
ConfirmDate,FamilyAddr,IdCardAddr,ContractTo,TrainingPeriod,ServiceYears,ResDocNum,
College,Major,MinorMajor,Degree,GraduateDate,JobTitle,ContractFrom,Reserve1,Reserve2,
Reserve3,Reserve4)select id,EmployeeCode,Name,EmployeeAccount,ActualName,IdCardNum,Sex,BirthDay,
NativePlace,Married,DocumentState,JoinTime,Center_Id,PositionDef_Id,PositionNumber,
Phone,MobilePhone,Email,FAX,DismissReason,BankName,BankBranch,AccountName,BankAccount,
Active,DismissDate,Remark,EmpType,EmpCode2,Reserve5,Reserve6,Reserve7,Reserve8,
Reserve9,Reserve10,BankName2,AccountName2,BankAccount2,JobTitleLevel,JobTitleConfirmTime,Nationality,
ConfirmDate,FamilyAddr,IdCardAddr,ContractTo,TrainingPeriod,ServiceYears,ResDocNum,
College,Major,MinorMajor,Degree,GraduateDate,JobTitle,ContractFrom,Reserve1,Reserve2,
Reserve3,Reserve4 from Employee
即将表结构全部一一复制过来,测试发现使用insert into Employee_3 select * from Employee时此处无效。
5.关闭自增插入:
set identity_insert Employee_t off
环境:sqlServer2008
存在表Employee,其中id为主键
1.复制表结构:重新建表Employee_3,包含除id字段意外的所有字段
2.执行:alert table Employee_3 add id int identity(1,1)
3.打开自增插入字段set identity_insert Employee_t on
4.执行
insert into Employee_3(id,EmployeeCode,Name,EmployeeAccount,ActualName,IdCardNum,Sex,BirthDay,
NativePlace,Married,DocumentState,JoinTime,Center_Id,PositionDef_Id,PositionNumber,
Phone,MobilePhone,Email,FAX,DismissReason,BankName,BankBranch,AccountName,BankAccount,
Active,DismissDate,Remark,EmpType,EmpCode2,Reserve5,Reserve6,Reserve7,Reserve8,
Reserve9,Reserve10,BankName2,AccountName2,BankAccount2,JobTitleLevel,JobTitleConfirmTime,Nationality,
ConfirmDate,FamilyAddr,IdCardAddr,ContractTo,TrainingPeriod,ServiceYears,ResDocNum,
College,Major,MinorMajor,Degree,GraduateDate,JobTitle,ContractFrom,Reserve1,Reserve2,
Reserve3,Reserve4)select id,EmployeeCode,Name,EmployeeAccount,ActualName,IdCardNum,Sex,BirthDay,
NativePlace,Married,DocumentState,JoinTime,Center_Id,PositionDef_Id,PositionNumber,
Phone,MobilePhone,Email,FAX,DismissReason,BankName,BankBranch,AccountName,BankAccount,
Active,DismissDate,Remark,EmpType,EmpCode2,Reserve5,Reserve6,Reserve7,Reserve8,
Reserve9,Reserve10,BankName2,AccountName2,BankAccount2,JobTitleLevel,JobTitleConfirmTime,Nationality,
ConfirmDate,FamilyAddr,IdCardAddr,ContractTo,TrainingPeriod,ServiceYears,ResDocNum,
College,Major,MinorMajor,Degree,GraduateDate,JobTitle,ContractFrom,Reserve1,Reserve2,
Reserve3,Reserve4 from Employee
即将表结构全部一一复制过来,测试发现使用insert into Employee_3 select * from Employee时此处无效。
5.关闭自增插入:
set identity_insert Employee_t off
相关文章推荐
- 在忘记APPLE ID密码的情况下如何删除icloud账号?
- SqlServer 不是主键 如何自增
- U盘的文件内容如何按照修改时间排列?
- C# winform webbrowser如何指定内核为IE11? 输出 this.webbrowser.Version 显示版本是IE11的,但实际版本不是啊! 网上打的修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULA
- 注意var $XX = $("#YY", $ZZ);这种虽然是取$ZZ中的id为YY的对象,但是如果id为多个,就会返回多个,而不是像$("#YY")似的返回页面最前面的那个
- 因特网上Cookies是如何工作的(转),虽然不是讲.net,但是把cookiers的讲解非常清楚,可以让开发更好!
- Excel工作表默认都是手动一个个表的修改内容如何批量一次性修改
- 如何使用10M的内存读入100M的文件,并且保证在读取过程中可进行删除、修改和增加内容
- 如何修改Asp.net2.0默认WebSite的LocalSqlServer设置
- 如何修改WebUpload上传文件默认调用系统相机,而不是手机相册?
- 关于如何避免操作(update、delete)mysql数据库时忘记添加where而导致全表修改或删除情况
- Excel工作表默认都是手动一个个表的修改内容如何批量一次性修改
- mysql删除数据表内容后id 自动递增字段不是从1开始的解决办法
- 如何修改表的ID主键 使的在删除了一些记录后把新增的记录插入到删除记录的位置
- 如何修改表的ID主键 使的在删除了一些记录后把新增的记录插入到删除记录的位置
- SqlServer 2008如何修改默认的sa登录名的密码
- 原因分析如下: 遇到这种情况,很有可能是把一个int型业务数据的 设置setText()或者类似的方法中, 这样Android系统就会主动去资源文件当中寻找, 但是它不是一个资源文件ID, 所
- 如何修改Asp.net2.0默认WebSite的LocalSqlServer设置
- Shiro 用户认证个性化修改: 如果AuthenticationToken的元素不满足实际情况,列入登陆的时候需要有学校id或者 其他参数,这时需要进行扩展,主要修改的地方有以下:
- 如何把资源管理器默认排列方式,设置为按修改日期排列图标的方法?