删除唯一索引MSSQL



我有一个表,其中包含电子邮件作为唯一的密钥约束。我想放下它,怎么可能?

尝试:DROP INDEX email_2 ON users;

没有运气

    An explicit `DROP INDEX` is not allowed on index 'users.email_2'. 
It is being used for `UNIQUE KEY` constraint enforcement.

您可以通过丢弃约束来将其删除。

ALTER TABLE users
DROP CONSTRAINT email_2;

尝试删除约束:

ALTER TABLE users DROP CONSTRAINT yourConstraint

我的研究遵循,我希望这有帮助

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF  EXISTS (SELECT * FROM sys.objects 
    WHERE object_id = OBJECT_ID(N'[dbo].[TAB1]') AND type in (N'U'))
    DROP TABLE [dbo].[TAB1]
CREATE TABLE [dbo].[TAB1](
                [PAR1] [int] NOT NULL,
                [PAR2] [int] NOT NULL,
CONSTRAINT [IDX_PAR1] UNIQUE NONCLUSTERED
(
    [PAR1] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TAB1] ADD  CONSTRAINT [PAR2_CONSTRAINT]  DEFAULT ((1)) FOR [PAR2]
GO
-- forbidden
-- DROP INDEX TAB1.IDX_PAR1
-- should be
ALTER TABLE TAB1 DROP CONSTRAINT IDX_PAR1

最新更新