집 >데이터 베이스 >MySQL 튜토리얼 >MySQL을 사용하여 공동 고유 인덱스를 추가하는 방법
프로젝트에서 공동 고유 인덱스를 사용해야 합니다.
예: 다음 요구 사항이 있습니다. 각 사람은 하루에 하나의 레코드만 생성할 수 있습니다. 프로그램 계약 외에도 데이터베이스 자체도 가능합니다. be set:
예:t_aa 테이블에 두 개의 필드 aa와 bb가 있습니다. 두 개의 동일한 레코드를 원하지 않는 경우(즉, aa 필드의 값은 반복될 수 있으며 bb 필드의 값은 반복할 수도 있지만 레코드(aa, bb)의 결합된 값은 허용되지 않습니다. 중복은 허용되지 않습니다. t_aa 테이블에 여러 필드의 공동 고유 인덱스를 추가해야 합니다.
alter table t_aa add unique index(aa,bb);
예:
alter table use_info add unique index agd(user_account_id,game_id,daily_date); alter table user_info add unique key agdkey(user_account_id,game_id,daily_date);
In 이렇게 하면 동일한 레코드를 테이블에 추가하면 오류 메시지가 반환됩니다.
그러나 Insert into...ON DUPLICATE KEY UPDATE...와 함께 사용하면 오류가 보고되지 않습니다. 동일한 레코드가 있으면 바로 무시됩니다.
예:
INSERT INTO unit ( id, unitsubclass, name, state ) VALUES('1111','CPU','CPU','0' ) ON DUPLICATE KEY UPDATE unitsubclass=VALUES(unitsubclass),name =VALUES(name),state =VALUES(state)
이전 테이블에 대해 이 인덱스를 생성해야 하는 경우가 있습니다. 이전 데이터에 중복 레코드가 있을 수 있습니다. 어떻게 해야 할까요?
alter ignore table t_aa add unique index(aa,bb);
중복 레코드는 삭제됩니다. 그들) 하나) 그런 다음 효율적이고 사용자 친화적인 고유 인덱스를 생성합니다.
인덱스 보기:
데이터베이스 테이블 이름의 인덱스 표시
alter table 데이터베이스 인덱스 추가 인덱스 이름(데이터베이스 필드 이름) PRIMARY KEY(기본 키 인덱스):
ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索引);
ALTER TABLE table_name ADD UNIQUE ( 열) INDEX(일반 인덱스):
ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
FULLTEXT(전체 텍스트 인덱스):
ALTER TABLE `table_name` ADD FULLTEXT ( `column` )
다열 인덱스:
ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
일반 조인트 인덱스
구문:
테이블 이름(필드 이름)에 인덱스 인덱스 이름 만들기
예:
create index firstIndex on student(id, name, address);
참고:
인덱스 이름, 테이블 이름, 필드 이름에 따옴표를 사용하지 마세요
joint index의 경우, 영문 쉼표로 구분된 여러 개의 필드 이름이 있을 수 있습니다.
일반적인 index 데이터가 반복될 수 있습니다.
결과:
Unique Joint index
Syntax:
만들기 테이블 이름의 고유 인덱스 인덱스 이름(필드 이름)
예:
create unique index secondIndex on student(id, name, address);
참고:
인덱스 이름, 테이블 이름, 필드 이름을 따옴표로 묶지 마세요.
공동 인덱스, 필드 이름의 경우 여러 개일 수 있습니다. 영문 쉼표로 구분하세요
고유 인덱스 데이터는 반복될 수 없습니다
결과:
위 내용은 MySQL을 사용하여 공동 고유 인덱스를 추가하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!