MySQL의 여러 열에 대한 고유 제약 조건 지정

Shraddha Paghdar 2023년6월20일
MySQL의 여러 열에 대한 고유 제약 조건 지정

오늘의 게시물에서는 MySQL에서 여러 열에 대한 고유 제약 조건을 지정하는 방법을 살펴보겠습니다.

MySQL의 여러 열에 대한 고유 제약 조건 지정

경우에 따라 열 또는 열 컬렉션의 각 값이 고유한지 확인하고 싶을 수 있습니다.

예를 들어 직원 데이터베이스의 사용자 이메일 주소나 고객 테이블의 고객 전화번호는 달라야 합니다. 이 규칙을 적용하기 위해 고유 제약 조건이 사용됩니다.

UNIQUE라는 무결성 제약 조건은 열 또는 열 조합의 각 값이 구별되도록 합니다. 테이블 제약 조건 또는 열 제약 조건은 모두 고유 제약 조건일 수 있습니다.

통사론:

CREATE TABLE table_name(
    column_name data_type UNIQUE,
);

위의 구문에서 고유성 규칙을 적용하려는 열 지정에는 UNIQUE 키워드가 포함됩니다. 열 이름에 중복을 초래하는 값을 삽입하거나 업데이트하면 MySQL은 수정을 거부하고 오류를 생성합니다.

열 제약 조건은 이 UNIQUE 제약 조건에서 사용됩니다. 또한 단일 열에 고유한 규칙을 적용하는 데 사용할 수 있습니다.

다음 구문은 둘 이상의 열에 대해 UNIQUE 제약 조건을 설정하는 데 사용됩니다.

통사론:

CREATE TABLE table_name(
   column_name1 data_type,
   column_name2 data_type,
   UNIQUE(column_name1,column_name2)
);

MySQL ALTER TABLE 명령을 사용하여 테이블에서 열을 추가, 수정 또는 삭제/삭제할 수 있습니다. ADD UNIQUE 명령은 고유 제약 조건이 없는 열이 이미 존재하는 경우 고유 제약 조건을 추가할 수 있습니다.

아래 구문을 사용하여 두 개 이상의 열에 대한 고유 제약 조건을 만듭니다.

통사론:

ALTER TABLE table_name ADD UNIQUE column_name;
ALTER TABLE table_name ADD UNIQUE `index_name`(column_name1, column_name2);

이전 개념을 더 잘 이해하려면 다음 예를 고려하십시오.

CREATE TABLE Employees(
    email varchar(255) UNIQUE,
    first_Name VARCHAR(255),
    last_Name VARCHAR(255)
);
CREATE TABLE EmployeeDepartment(
   email varchar(255),
   department varchar(255),
   UNIQUE(email,department)
);
-- If the Employees table does not have a unique email constraint
ALTER TABLE EmployeeDepartment ADD UNIQUE email;
-- If the EmployeeDepartment table does not have a unique constraint
ALTER TABLE EmployeeDepartment ADD UNIQUE `unique_department_emp`(email,department);

이전의 첫 번째 예에서는 email, first_Namelast_Name 특성을 사용하여 Employees라는 데이터베이스를 만들었습니다. 이메일 열의 데이터와 중복되는 값을 변경하거나 편집하면 오류가 발생합니다.

UNIQUE. 키워드를 사용하여 이메일을 고유 열로 지정합니다.

첫 번째와 마찬가지로 emaildepartment. 변수를 포함하는 EmployeeDepartment 테이블을 생성했습니다. email+department 열에 데이터가 중복되는 값을 삽입하거나 변경하면 오류가 발생합니다.

UNIQUE 키워드를 사용하여 emaildepartment의 조합을 고유한 열로 만듭니다.

유사하게 새 고유 제약 조건을 추가하여 기존 테이블을 수정할 수 있습니다.

MySQL과 호환되는 모든 브라우저에서 위의 코드 행을 실행하십시오. 다음과 같은 결과가 표시됩니다.

Query executed successfully.
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

관련 문장 - MySQL Column