2

I have a table having email as unique key constraint. I want to drop it, How it will possible?

Tried : DROP INDEX email_2 ON users;

No luck

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

3 Answers3

7

You can remove it by dropping constraint.

ALTER TABLE users
DROP CONSTRAINT email_2;
JERRY
  • 1,165
  • 1
  • 8
  • 22
2

Try to drop the constraint:

ALTER TABLE users DROP CONSTRAINT yourConstraint
StepUp
  • 36,391
  • 15
  • 88
  • 148
0

My research followed, I hope this help

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
Dmitry Ivanov
  • 508
  • 7
  • 9