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

MySQL 테이블에서 Unique 제약 조건을 삭제하시겠습니까?

<시간/>

먼저 UNIQUE 제약 조건이 있는 테이블을 생성해 보겠습니다. 중복 값을 추가할 수 없음을 나타냅니다.

테이블 생성 중.

mysql> 테이블 UniqueConstraintDemo 생성 -> ( -> Name varchar(200) unique -> );쿼리 OK, 영향을 받는 행 0개(1.05초)

이제 DESC 명령을 사용하여 테이블에 UNIQUE 제약 조건이 있는지 확인할 수 있습니다. 쿼리는 다음과 같습니다.

mysql> DESC UniqueConstraintDemo;

다음은 출력입니다.

+-------+--------------+------+-----+------+ -------+| 필드 | 유형 | 널 | 키 | 기본값 | 추가 |+----+--------------+------+-----+---------+- ------+| 이름 | varchar(200) | 예 | 유니 | 널 | |+-------+--------------+------+-----+---------+-- -----+1 행 세트(0.00초)

이제 '이름' 열에 고유한 제약 조건이 있습니다. 따라서 중복 값을 추가할 수 없습니다. 동일한 값을 두 번 삽입하려고 하면 오류가 발생합니다. 레코드를 삽입하는 쿼리는 다음과 같습니다.

<미리>mysql> UniqueConstraintDemo values('John')에 삽입, 쿼리 확인, 1개 행이 영향을 받았습니다(0.54초)mysql> UniqueConstraintDemo values('John')에 삽입, 오류 1062(23000):키에 대한 중복 항목 'John' '이름'

위의 오류 1062를 보십시오. UNIQUE 제약 조건이 있는 열에 중복 값을 추가하려고 시도했음을 나타냅니다.

이제 UNIQUE 제약 조건을 삭제하는 구문을 살펴보겠습니다.

 DROP index yourColumnName on yourTableName;

고유 제약 조건을 제거하려면 위의 구문을 적용하십시오.

mysql> UniqueConstraintDemo의 DROP 인덱스 이름, 쿼리 확인, 영향을 받는 행 0개(0.39초) 레코드:0 중복:0 경고:0

이제 DESC 명령을 사용하여 UNIQUE 제약 조건이 제거되었는지 여부를 확인할 수 있습니다. 쿼리는 다음과 같습니다 -

mysql> DESC UniqueConstraintDemo;

다음은 UNIQUE 제약 조건을 성공적으로 제거했음을 표시하는 출력입니다.

+-------+--------------+------+-----+------+ -------+| 필드 | 유형 | 널 | 키 | 기본값 | 추가 |+----+--------------+------+-----+---------+- ------+| 이름 | varchar(200) | 예 | | 널 | |+-------+--------------+------+-----+---------+-- -----+1 행 세트(0.00초)