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_Name
및 last_Name
특성을 사용하여 Employees
라는 데이터베이스를 만들었습니다. 이메일
열의 데이터와 중복되는 값을 변경하거나 편집하면 오류가 발생합니다.
UNIQUE.
키워드를 사용하여 이메일을 고유 열로 지정합니다.
첫 번째와 마찬가지로 email
및 department.
변수를 포함하는 EmployeeDepartment
테이블을 생성했습니다. email+department
열에 데이터가 중복되는 값을 삽입하거나 변경하면 오류가 발생합니다.
UNIQUE
키워드를 사용하여 email
과 department
의 조합을 고유한 열로 만듭니다.
유사하게 새 고유 제약 조건을 추가하여 기존 테이블을 수정할 수 있습니다.
MySQL과 호환되는 모든 브라우저에서 위의 코드 행을 실행하십시오. 다음과 같은 결과가 표시됩니다.
Query executed successfully.
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