MySQL에서 고유 키를 제거하려면 DROP 명령을 사용하십시오. 구문은 다음과 같습니다 -
ALTER TABLE yourTableName DROP INDEX yourKeyName;
위의 구문을 이해하기 위해 고유 키가 있는 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -
mysql> create table DropIndexDemo −> ( −> BookId int unique key, −> BookName varchar(200) −> ); Query OK, 0 rows affected (0.88 sec)
이제 show 명령을 사용하여 키 이름이 무엇인지 확인할 수 있습니다. 이 고유 키가 삭제됩니다. 쿼리는 다음과 같습니다 -
mysql> show index from DropIndexDemo;
다음은 출력입니다 -
+-----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | +-----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ | dropindex | 0 | BookId | 1 | BookId | A | 0 | NULL | NULL | YES | BTREE | | | YES | +-----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ 1 row in set (0.17 sec)
위의 샘플 출력을 보면 키 이름이 'BookId'입니다. 이제 고유 키를 제거하는 쿼리가 있습니다 -
mysql> alter table DropIndex drop index BookId ; Query OK, 0 rows affected (0.33 sec) Records: 0 Duplicates: 0 Warnings: 0
MySQL 테이블 DropIndex에서 고유 키를 제거했습니다. BookId 열에는 이전에 고유 키가 있었습니다.
이제 desc 명령을 사용하여 테이블 구조를 표시합니다. 삭제했기 때문에 고유 키가 표시되지 않습니다. −
mysql> desc DropIndex;
다음은 출력입니다 -
+----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ | BookId | int(11) | YES | | NULL | | | BookName | varchar(200) | YES | | NULL | | +----------+--------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
위의 샘플 출력을 보면 BookId 열에 고유 키가 없습니다.