【发布时间】:2017-04-05 18:49:31
【问题描述】:
我使用 SQL Server 2008 R2。 我有 2 个包含数据的表。
Area表有 varchar 主键PersonalData表引用Area表使用 varchar 外键
如何将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
【问题讨论】:
标签: sql-server sql-server-2008 primary-key sqldatatypes alter-table