【问题标题】:how to insert duplicate record with different custom generated primary key SQL Server如何使用不同的自定义生成的主键 SQL Server 插入重复记录
【发布时间】:2012-04-28 14:18:29
【问题描述】:

在 SQL Server 中,有没有简单的方法来实现以下场景?

在我的一张表中,我有大约 20 列和主键字段,我们在其中放置了生成的数字(它不是自动生成的字段)。出于某种原因,我们想用不同的主键值复制某个主键值的记录。

所以这可能是我的表数据(假设 KEYxxx 是主键字段)

KEY001  AA1  AA2 AA3 AA4 ... AA20
KEY002  AA1  AA2 AA3 AA4 ... AA20

我正在尝试插入具有相同数据的新行:KEY001 as KEY002

我曾尝试在此处使用此查询来执行此操作,但失败了,找不到向此查询插入新主键值 (KEY002) 的方法。

INSERT INTO mytable (FIELD1, field2,...field20) 
    SELECT (FIELD1, field2,... field20) 
    WHERE field_primary_key = 'KEY001' 

【问题讨论】:

    标签: sql insert sql-server-2008-r2


    【解决方案1】:

    不要在 SELECT 列表中指定 PK 列,而是将其替换为新键的文字值:

    INSERT INTO mytable (FIELD_PK, field2,...field20) 
    SELECT 'KEY002', field2,...field20
    from mytable
    where field_primary_key='KEY001'
    

    【讨论】:

      猜你喜欢
      • 2016-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-11
      相关资源
      最近更新 更多