为了账号安全,请及时绑定邮箱和手机立即绑定

SQL server2014用SQL语句复制带主键的表

SQL server2014用SQL语句复制带主键的表

繁星coding 2018-12-30 04:00:48
SQL server2014用SQL语句复制带主键的表
查看完整描述

1 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

对已经存在的一张表,要把该表的表结构和数据复制到另一张新表中,可以采用的方法有两种。
方法一
select * into test01_02 from test01_01;
把test01_01的表结构和数据(如果有数据)导入到test01_02表中。
注:使用这种方法的前提是test01_02表是不存在的,如果存在执行SQL语句时会报错。
方法二
set identity_insert test01_03 on
insert into test01_03(id,p_name,p_age,p_address) select * from test01_01
set identity_insert test01_03 off
把test01_01的数据导入到test01_03表中,其中id为主键,整型,自动增长。
注:
a.方法二要求test01_03表存在,不存在会报错。
b.如果把方法二改写为:insert into test01_03 select * from test01_01,会报“仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'test01_03'中的标识列指定显式值”错误。
c.如果把方法二改写为:
set identity_insert test01_03 on
insert into test01_03 select * from test01_01
set identity_insert test01_03 off
会报“仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'test01_03'中的标识列指定显式值”错误。
这样把表的表结构和数据复制到另一张新表中的,表中的主键也就复制过去了。


查看完整回答
反对 回复 2019-01-03
  • 1 回答
  • 0 关注
  • 874 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信