>  기사  >  데이터 베이스  >  MySQL 테이블에서 고유 제약 조건을 어떻게 제거할 수 있나요?

MySQL 테이블에서 고유 제약 조건을 어떻게 제거할 수 있나요?

WBOY
WBOY앞으로
2023-08-24 19:25:053443검색

MySQL 테이블에서 고유 제약 조건을 어떻게 제거할 수 있나요?

MySQL 테이블에서 UNIQUE 제약 조건을 제거하려면 먼저 테이블에서 UNIQUE 제약 조건에 의해 생성된 인덱스의 이름을 확인해야 합니다. 우리는 SHOW INDEX 문이 이러한 목적으로 사용된다는 것을 알고 있습니다. SHOW INDEX 문의 결과 집합에 있는 'key_name'에는 인덱스 이름이 포함됩니다. 이제 DROP INDEX 문이나 ALTER TABLE 문을 사용하여 UNIQUE 제약 조건을 삭제할 수 있습니다. 두 문의 구문은 다음과 같습니다.

Syntax

DROP INDEX index_name ON table_name;
OR
ALTER TABLE table_name DROP INDEX index_name;

Example

'empno' 열에 고유 제약 조건이 있는 'empl'이라는 테이블이 있다고 가정합니다. 인덱스 이름은 −

mysql> Show Index from empl\G
*************************** 1. row ***************************
Table: empl
Non_unique: 0
Key_name: empno
Seq_in_index: 1
Column_name: empno
Collation: A
Cardinality: 0
Sub_part: NULL
Packed: NULL
Null: YES
Index_type: BTREE
Comment:
Index_comment:
1 row in set (0.02 sec)

로 확인할 수 있습니다. 이제 고유 제약 조건을 제거하려면 다음 쿼리를 작성할 수 있습니다. −

mysql> ALTER TABLE empl DROP INDEX empno;
Query OK, 0 rows affected (0.26 sec)
Records: 0 Duplicates: 0 Warnings: 0

다음 쿼리의 결과 집합은 'empno' 열에 고유 제약 조건이 없음을 보여줍니다. −

mysql> describe empl;

+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| empno | int(11) | YES | | NULL | |
| F_name | varchar(20) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+

2 rows in set (0.04 sec)

empl 쿼리에서 Showing the index 를 실행하더라도 MySQL은 아래와 같이 빈 집합을 반환합니다. −

mysql> Show index from empl;
Empty set (0.00 sec)

UNIQUE 제약 조건은 다음과 같이 DROP INDEX 문을 사용하여 'empl' 테이블에서 제거할 수 있습니다. 아래 표시:

mysql> DROP INDEX empno on empl;
Query OK, 0 rows affected (0.17 sec)
Records: 0 Duplicates: 0 Warnings: 0

위 내용은 MySQL 테이블에서 고유 제약 조건을 어떻게 제거할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제