Mah*_*der 3 sql insert sql-server-2008-r2
在SQL Server中,有没有简单的方法来实现以下场景?
在我的一个表中,我有大约20列和主键字段,我们放置生成的数字(它不是自动生成的字段).出于某种原因,我们希望复制具有不同主键值的某个主键值的记录.
所以这可能是我的表数据(假设KEYxxx是主键字段)
KEY001 AA1 AA2 AA3 AA4 ... AA20
KEY002 AA1 AA2 AA3 AA4 ... AA20
Run Code Online (Sandbox Code Playgroud)
我试图插入一个具有相同数据的新行:KEY001asKEY002
我在这里尝试使用此查询来执行此操作,但失败了,找不到KEY002向此查询插入新主键值()的方法.
INSERT INTO mytable (FIELD1, field2,...field20)
SELECT (FIELD1, field2,... field20)
WHERE field_primary_key = 'KEY001'
Run Code Online (Sandbox Code Playgroud)
而不是在SELECT列表中指定PK列,而是将其替换为新键的文字值:
INSERT INTO mytable (FIELD_PK, field2,...field20)
SELECT 'KEY002', field2,...field20
from mytable
where field_primary_key='KEY001'
Run Code Online (Sandbox Code Playgroud)