Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 테이블에서 고유성 제약 조건을 어떻게 제거합니까?

<시간/>

이를 위해 DROP INDEX를 사용할 수 있습니다. 구문은 다음과 같습니다 -

alter table yourTablename drop index yourUniqueName;

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> create table removeUniquenessConstraint
   -> (
   -> Id int,
   -> Name varchar(100),
   -> Age int,
   -> isGreaterThan18 bool,
   -> UNIQUE(Id,isGreaterThan18)
   -> );
Query OK, 0 rows affected (0.69 sec)

이제 SHOW CREATE 명령을 사용하여 테이블의 세부 정보를 확인하십시오. 쿼리는 다음과 같습니다 -

mysql> show create table removeUniquenessConstraint;

다음은 출력입니다 -

+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table                      | Create Table                                                     |
+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| removeUniquenessConstraint | CREATE TABLE `removeuniquenessconstraint` (`Id` int(11) DEFAULT NULL,`Name` varchar(100) DEFAULT NULL,`Age` int(11) DEFAULT NULL,`isGreaterThan18` tinyint(1) DEFAULT NULL,UNIQUE KEY `Id` (`Id`,`isGreaterThan18`)) ENGINE =InnoDB DEFAULT CHARSET =utf8             |
+----------------------------+---------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

다음은 MySQL 테이블에서 고유성 제약 조건을 제거하는 쿼리입니다 -

mysql> alter table removeUniquenessConstraint drop index `Id`;
Query OK, 0 rows affected (0.25 sec)
Records: 0 Duplicates: 0 Warnings: 0

테이블의 모든 세부 사항을 다시 한 번 확인합시다. 쿼리는 다음과 같습니다 -

mysql> show create table removeUniquenessConstraint;

다음은 출력입니다 -

+----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table       |
+----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| removeUniquenessConstraint | CREATE TABLE `removeuniquenessconstraint` (`Id` int(11) DEFAULT NULL,`Name` varchar(100) DEFAULT NULL,`Age` int(11) DEFAULT NULL,`isGreaterThan18` tinyint(1) DEFAULT  NULL) ENGINE =InnoDB DEFAULT CHARSET =utf8         |
+----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

위의 샘플 출력을 보면 고유성 제약 조건이 없습니다.