>데이터 베이스 >MySQL 튜토리얼 >mysql 기본 키 수정

mysql 기본 키 수정

WBOY
WBOY원래의
2023-05-18 11:50:073579검색

MySQL 데이터베이스에서 기본 키(Primary Key)는 데이터 테이블에 있는 각 레코드의 고유성을 보장할 수 있는 매우 중요한 개념입니다. 일반적으로 기본 키는 데이터 테이블을 생성할 때 정의되어야 하며 변경할 수 없어야 합니다. 기본 키를 수정해야 하는 경우 부정적인 결과를 피하기 위해 매우 작은 범위 내에서 수정해야 합니다. 이 기사에서는 MySQL 데이터베이스에서 기본 키를 수정하는 방법을 소개합니다.

I. 기본 키란 무엇입니까

MySQL 데이터베이스에서 기본 키는 데이터 테이블의 각 레코드를 고유하게 식별하는 데 사용되는 하나 이상의 열을 나타냅니다. 기본 키의 정의는 일반적으로 데이터 테이블이 생성될 때 정의되며 변경할 수 없습니다. 기본 키 정의는 다음 조건을 충족해야 합니다.

  1. 고유성: 기본 키의 각 값은 고유해야 합니다.
  2. Non-null: 기본 키의 모든 값은 null이 아니어야 합니다.
  3. 변경 불가능: 기본 키는 정의된 후에 변경할 수 없습니다.
  4. 최소화: 기본 키는 저장 공간과 쿼리 성능에 미치는 영향을 줄이기 위해 가능한 한 짧아야 합니다.

MySQL 데이터베이스에서는 다음을 포함하여 다양한 방법으로 기본 키를 정의할 수 있습니다.

  1. 단일 열 기본 키: 데이터 테이블의 한 열만 기본 키로 정의된다는 의미입니다.
  2. 복합 기본 키: 기본 키로 정의되고 결합되어 레코드의 각 행을 고유하게 식별하는 데이터 테이블의 여러 열을 나타냅니다.
  3. 기본 키 제약 조건: 기본 키 제약 조건이라고도 하며, 데이터 테이블을 생성할 때 PRIMARY KEY 키워드를 사용하여 열을 기본 키로 정의하는 것을 의미합니다.

II. MySQL의 기본 키 수정에 대한 제한 사항

MySQL 데이터베이스에서는 기본 키가 정의되면 변경할 수 없습니다. 이는 데이터 테이블의 무결성과 일관성을 보장하기 위한 것입니다. 따라서 기본 키를 수정하려면 다음 조건을 충족해야 합니다.

  1. 수정된 기본 키 열에 외래 키 제약 조건이 포함되어 있지 않습니다.
  2. 수정된 기본 키 열은 어떤 인덱스에도 포함되지 않습니다.
  3. 데이터 테이블이 분할되지 않았습니다.

III. MySQL에서 기본 키를 수정하는 방법

  1. 먼저 원래 기본 키를 삭제해야 합니다. 다음 명령을 사용할 수 있습니다.
ALTER TABLE table_name DROP PRIMARY KEY;
  1. 그런 다음 기본 키를 다시 정의해야 합니다. 다음 명령어를 사용할 수 있습니다.
ALTER TABLE table_name ADD PRIMARY KEY (column_name);

그 중 column_name은 데이터 테이블에서 기본 키로 정의할 열의 이름을 의미하며, 단일 열일 수도 있고 여러 열이 공동으로 정의한 복합 기본 키일 수도 있습니다. . 새로 정의된 기본 키는 1~4 조건을 충족해야 한다는 점에 유의하세요.

예를 들어 다음 필드를 포함하는 "users"라는 데이터 테이블이 있다고 가정합니다.

id int(11) NOT NULL AUTO_INCREMENT,
username varchar(255) NOT NULL,
email varchar(255) NOT NULL,
PRIMARY KEY (id)

기본 키를 "id" 필드에서 "username" 필드로 변경하려면 다음을 실행해야 합니다. 다음 명령:

ALTER TABLE users DROP PRIMARY KEY;
ALTER TABLE users ADD PRIMARY KEY (username);

IV. 요약

MySQL의 기본 키는 데이터 테이블의 각 레코드를 고유하게 식별하고 데이터 테이블의 무결성과 일관성을 보장하는 데 사용되는 매우 중요한 개념입니다. 일반적으로 기본 키는 데이터 테이블을 생성할 때 정의되어야 하며 변경할 수 없어야 합니다. 기본 키를 수정해야 하는 경우 부정적인 결과를 피하기 위해 매우 작은 범위 내에서 수정해야 합니다.

위 내용은 mysql 기본 키 수정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.