我想向现有表添加主键。我认为最好的方法是做SELECT INTO
一个临时表,删除并创建表,然后INSERT INTO
从临时表中创建表。是否有任何问题可能由此产生?
这是最佳做法吗?
SET XACT_ABORT ON
--SAVE DATA
SELECT * INTO #TempTable
FROM dbo.OldTable AS tt
-- Drop and Create dbo.OldTable
-- Restore data
INSERT INTO dbo.OldTable (Column1, Column2, Column3)
SELECT
tt.Column1,
tt.Column2,
tt.Column3
FROM #TempTable AS tt
COMMIT TRANSACTION -- roll back in case there are any FK issues
此数据库在 SQL Server 2008 中实现。