3
我使用SQL Server 2008 R2。 我有2個包含數據的表。將列主鍵和外鍵VARCHAR數據類型更改爲INT數據類型
Area
表有VARCHAR使用Area
表VARCHAR主鍵PersonalData
表引用外鍵
我怎樣才能改變一個varchar
主鍵和外鍵int
數據類型?
SQL腳本:
CREATE TABLE [dbo].[Z.Tests.Area]
(
[ID_Area] [varchar](50) NOT NULL,
[Description] [varchar](150) NULL,
CONSTRAINT [PK_Z.Tests.Area]
PRIMARY KEY CLUSTERED ([ID_Area] ASC)
) ON [PRIMARY]
CREATE TABLE [dbo].[Z.Tests.PersonalData]
(
[ID_PersonalData] [int] IDENTITY(1,1) NOT NULL,
[Username] [varchar](50) NULL,
[FK_ID_Area] [varchar](50) NULL,
CONSTRAINT [PK_Z.Tests.PersonalData]
PRIMARY KEY CLUSTERED ([ID_PersonalData] ASC)
) ON [PRIMARY]
ALTER TABLE [dbo].[Z.Tests.PersonalData] WITH CHECK
ADD CONSTRAINT [FK_Z.Tests.PersonalData_Z.Tests.Area]
FOREIGN KEY([FK_ID_Area])
REFERENCES [dbo].[Z.Tests.Area] ([ID_Area])
GO
ALTER TABLE [dbo].[Z.Tests.PersonalData]
CHECK CONSTRAINT [FK_Z.Tests.PersonalData_Z.Tests.Area]
GO
我唯一要補充的是你應該先在測試環境中執行這些步驟。這樣你就知道它很有可能在生產中工作。 –
***考慮***:_Primary密鑰,外鍵和唯一密鑰以及索引_ – Kiquenet