>데이터 베이스 >MySQL 튜토리얼 >mysql에 고유 제약 조건을 추가하는 방법은 무엇입니까?

mysql에 고유 제약 조건을 추가하는 방법은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-10-13 17:13:5128009검색

방법: 1. 테이블 생성 시 "CREATE TABLE 테이블 이름(필드 이름 데이터 유형 UNIQUE)" 문을 사용하여 추가합니다. 2. 테이블 수정 시 "ALTER TABLE 테이블 이름 ADD CONSTRAINT 고유 제약 조건 이름 UNIQUE"를 사용합니다. (열 이름 );" 문을 추가합니다.

mysql에 고유 제약 조건을 추가하는 방법은 무엇입니까?

(추천 튜토리얼: mysql 비디오 튜토리얼)

MySQL 고유 제약 조건(고유 키)은 모든 레코드의 필드 값이 반복적으로 나타날 수 없음을 의미합니다. 예를 들어 id 필드에 고유 제약 조건을 추가하면 각 레코드의 id 값은 고유하며 반복될 수 없습니다. 레코드 중 하나의 id 값이 '0001'이면 테이블에 id 값이 '0001'인 다른 레코드가 있을 수 없습니다.

Unique 제약 조건은 둘 다 열의 고유성을 보장한다는 점에서 기본 키 제약 조건과 유사합니다. 차이점은 테이블에 여러 개의 고유 제약 조건이 있을 수 있으며, 고유 제약 조건이 설정된 열은 Null 값을 가질 수 있지만 Null 값은 하나만 있을 수 있다는 점입니다. 테이블에는 기본 키 제약 조건이 하나만 있을 수 있으며 null 값은 허용되지 않습니다. 예를 들어, 사용자 정보 테이블에서 테이블 내 사용자 이름이 중복되는 것을 방지하기 위해 사용자 이름을 고유 제약 조건으로 설정할 수 있습니다.

테이블 생성 시 고유 제약 조건 설정

고유 제약 조건은 테이블 생성 시 일반적으로 기본 키를 제외한 다른 열에 직접 설정할 수 있습니다.

열 정의 후 UNIQUE 키워드를 직접 사용하여 고유 제약 조건을 지정합니다. 구문 형식은 다음과 같습니다.

CREATE TABLE <数据表名>(<字段名> <数据类型> UNIQUE);

예제 1

데이터 테이블 tb_dept2를 생성하고 부서의 고유 이름을 지정하며 SQL 구문과 실행 결과는 다음과 같습니다.

mysql> CREATE TABLE tb_dept2
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(22) UNIQUE,
    -> location VARCHAR(50)
    -> );
Query OK, 0 rows affected (0.37 sec)

mysql> DESC tb_dept2;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | NO   | PRI | NULL    |       |
| name     | varchar(40) | YES  | UNI | NULL    |       |
| location | varchar(50) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.08 sec)

테이블 수정 시 고유 제약 조건 추가

테이블 수정 시 고유 제약 조건 추가 구문 형식은 다음과 같습니다.

ALTER TABLE <数据表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>);

예제 2

데이터 테이블 tb_dept1 수정, 고유 이름 지정 해당 부서에 대한 SQL 문과 실행 결과는 아래와 같습니다.

아아아아

위 내용은 mysql에 고유 제약 조건을 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.