집 >데이터 베이스 >MySQL 튜토리얼 >MySQL이 UNIQUE을 사용하여 중복되지 않은 데이터 삽입을 달성하는 방법에 대한 자세한 소개
고유 열이 UNIQUE 키에 중복 값을 포함하는 레코드를 삽입할 때 우리는 MySQL이 상황을 처리하는 방법을 제어할 수 있습니다. IGNORE 키워드를 사용하거나 ON DUPLICATE KEY UPDATE절을 사용하여 INSERT를 건너뛰고, 작동을 중단하거나 update오래된 기록을 새로운 가치로 업데이트하세요.
SQL UNIQUE Constraints
UNIQUE 제약 조건은 데이터베이스 테이블의 각 레코드를 고유하게 식별합니다.
UNIQUE 및 PRIMARY KEY 제약 조건은 모두 열 또는 열 집합에 대한 고유성을 보장합니다.
PRIMARY KEY에는 UNIQUE 제약 조건이 자동으로 정의되어 있습니다.
테이블당 여러 개의 UNIQUE 제약 조건을 가질 수 있지만 PRIMARY KEY 제약 조건은 테이블당 하나만 가질 수 있습니다.
다음 SQL은 "Persons" 테이블이 생성될 때 "Id_P" 열에 UNIQUE 제약 조건을 생성합니다.
CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), UNIQUE (Id_P) )
UNIQUE 제약 조건의 이름을 지정하고 여러 열에 대한 UNIQUE 제약 조건을 정의해야 하는 경우 다음 SQL을 사용하세요. 구문:
CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName) )
테이블이 생성되었을 때 "Id_P" 열에 UNIQUE 제약 조건을 생성해야 하는 경우 다음 SQL을 사용하세요.
ALTER TABLE Persons ADD UNIQUE (Id_P)
UNIQUE 제약 조건의 이름을 지정하고 여러 항목에 대해 UNIQUE 제약 조건을 정의해야 하는 경우 열에 대해서는 다음 SQL 구문을 사용하십시오.
ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
UNIQUE 제약 조건을 취소하려면 다음 SQL을 사용하십시오.
ALTER TABLE Persons DROP INDEX uc_PersonID
이런 방식으로 MySQL은 중복 레코드가 삽입될 때마다 중복 항목 value1-value2를 묻는 메시지를 표시합니다. 키 uni_que 물론 삽입 시 무시를 추가할 수 있습니다. 이제 중복된 레코드가 없으므로 레코드가 없으면 삽입을 시작하고 레코드가 있으면 업데이트해야 합니다.
INSERT INTO tablename (field1, field2, field3, ...) VALUES ('value1', 'value2','value3', ...) ON DUPLICATE KEY UPDATE field1='value1', field2='value2', field3='value3', ...이 문은 해당 레코드가 없으면
INSERT INTO tablename (field1, field2, field3, ...) VALUES ('value1', 'value2','value3', ...)를 실행합니다. 레코드가 있으면
UPDATE field1='value1', field2='value2', field3='value3', ...를 실행합니다.
위 내용은 MySQL이 UNIQUE을 사용하여 중복되지 않은 데이터 삽입을 달성하는 방법에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!