>데이터 베이스 >MySQL 튜토리얼 >MySQL을 사용하여 공동 고유 인덱스를 추가하는 방법

MySQL을 사용하여 공동 고유 인덱스를 추가하는 방법

王林
王林앞으로
2023-05-28 11:48:444367검색

공동 고유 인덱스

프로젝트에서 공동 고유 인덱스를 사용해야 합니다.

예: 다음 요구 사항이 있습니다. 각 사람은 하루에 하나의 레코드만 생성할 수 있습니다. 프로그램 계약 외에도 데이터베이스 자체도 가능합니다. 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` )

첨부: mysql에서 조인트 인덱스를 생성하는 명령을 사용하는 방법

일반 조인트 인덱스

구문: ​​

테이블 이름(필드 이름)에 인덱스 인덱스 이름 만들기

예:

create index firstIndex on student(id, name, address);

참고:

  • 인덱스 이름, 테이블 이름, 필드 이름에 따옴표를 사용하지 마세요

  • joint index의 경우, 영문 쉼표로 구분된 여러 개의 필드 이름이 있을 수 있습니다.

  • 일반적인 index 데이터가 반복될 수 있습니다.

결과:

MySQL을 사용하여 공동 고유 인덱스를 추가하는 방법

Unique Joint index

Syntax:

만들기 테이블 이름의 고유 인덱스 인덱스 이름(필드 이름)

예:

create unique index secondIndex on student(id, name, address);

참고:

  • 인덱스 이름, 테이블 이름, 필드 이름을 따옴표로 묶지 마세요.

  • 공동 인덱스, 필드 이름의 경우 여러 개일 수 있습니다. 영문 쉼표로 구분하세요

  • 고유 인덱스 데이터는 반복될 수 없습니다

결과:

MySQL을 사용하여 공동 고유 인덱스를 추가하는 방법

위 내용은 MySQL을 사용하여 공동 고유 인덱스를 추가하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제