如何在自动增量键列中复制行
INSERT [Table] SELECT * FROM [Table] where [Table].[id]=7
无法正常工作
答案 0 :(得分:1)
想象一下,您的AUTO_INCREMENT
(在SQL-Server它的IDENTITY
)列中的名称为col1
,因此您可以尝试(不在选择列表中包含它) ):
INSERT INTO [Table1] (col2, col3, col4) -- specify all columns except col1
SELECT col2, col3, col4 -- specify all columns except col1
FROM [Table2]
WHERE [Table2].[id]=7
以下示例正常工作:
CREATE TABLE #Temp1
(
ID INT NOT NULL IDENTITY (1,1),
Name NVARCHAR(40)
)
GO
CREATE TABLE #Temp2
(
ID INT NOT NULL IDENTITY (1,1),
Name NVARCHAR(40)
)
GO
INSERT INTO #Temp1 (Name) VALUES ('Lisa'), ('Jesicca'), ('John')
GO
INSERT INTO #Temp2 (Name)
SELECT Name
FROM #Temp1
GO
SELECT * FROM #Temp1
GO
DROP TABLE #Temp1
DROP TABLE #Temp2