gpt4 book ai didi

sql - 无法更改 Azure Sql 中的复合主键

转载 作者:行者123 更新时间:2023-12-03 04:43:17 28 4
gpt4 key购买 nike

表定义:

CREATE TABLE [dbo].[tbl](
[Id1] [int] NOT NULL,
[Id2] [int] NOT NULL,
[Id3] [int] NOT NULL,
[IsActive] [bit] NOT NULL,
[CreatedTs] [datetime] NOT NULL,
CONSTRAINT [PK_tbl] PRIMARY KEY CLUSTERED
(
[Id1] ASC,
[Id2] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)

GO

ALTER TABLE [dbo].[tbl] ADD CONSTRAINT [DF_tbl_IsActive] DEFAULT ((1)) FOR [IsActive]
GO

ALTER TABLE [dbo].[tbl] ADD CONSTRAINT [DF_tbl_CreatedTs] DEFAULT (getdate()) FOR [CreatedTs]
GO

在上表中,我使用“Id1”和“Id2”组合来组合主键。现在我想在复合主键中包含“Id3”,为此我正在执行以下操作:

ALTER TABLE tbl
DROP CONSTRAINT PK_tbl


ALTER TABLE [dbo].[tbl] ADD CONSTRAINT [PK_tbl] PRIMARY KEY CLUSTERED
(
[Id1] ASC,
[Id2] ASC,
[Id3] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
GO

上面的查询在我的本地 SQL Server 数据库上运行得很好,但是当我在 Azure 数据库上运行它时,出现错误:

Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index and try again.

如何修改azure sql上的复合主键?

最佳答案

Azure SQL 数据库的最新更新 (V12) 允许您拥有没有聚集索引(即堆)的表。如果您将服务器升级到最新版本,您将能够运行查询以成功修改 PK。

V12 启用的其他功能:http://azure.microsoft.com/en-us/documentation/articles/sql-database-preview-whats-new/

如何升级:http://azure.microsoft.com/en-us/documentation/articles/sql-database-preview-upgrade/

关于sql - 无法更改 Azure Sql 中的复合主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29274652/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com