> 데이터 베이스 > MySQL 튜토리얼 > MySQL에서 접두사가 있는 자동 증가 기본 키를 만드는 방법은 무엇입니까?

MySQL에서 접두사가 있는 자동 증가 기본 키를 만드는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-20 01:28:10
원래의
769명이 탐색했습니다.

How to Create Auto-Incrementing Primary Keys with Prefixes in MySQL?

MySQL에서 접두사가 있는 자동 증가 기본 키 생성

데이터베이스 작업 시 기본 키를 갖는 것이 바람직한 경우가 많습니다. 고유한 식별자를 제공할 뿐만 아니라 쉽게 구성할 수 있도록 의미 있는 접두사도 포함합니다. 'id'라는 기본 키 열이 있는 테이블이 있고 'LHPL001', 'LHPL002' 등과 같은 접두사로 이를 증가시키려는 경우 시퀀싱 및 트리거를 위해 별도의 테이블을 사용하는 잠재적인 솔루션은 다음과 같습니다.

테이블 설정

table1_seq라는 테이블을 생성하여 시퀀스를 저장합니다. 원하는 기본 키 필드와 함께 실제 데이터를 저장하기 위한 숫자 및 table1이라는 테이블:

CREATE TABLE table1_seq (
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);

CREATE TABLE table1 (
  id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0',
  name VARCHAR(30)
);
로그인 후 복사

접두사가 있는 자동 증가 트리거

기본 키에 대해 BEFORE INSERT 트리거를 생성합니다. table1:

DELIMITER $$
CREATE TRIGGER tg_table1_insert
BEFORE INSERT ON table1
FOR EACH ROW
BEGIN
  INSERT INTO table1_seq VALUES (NULL);
  SET NEW.id = CONCAT('LHPL', LPAD(LAST_INSERT_ID(), 3, '0'));
END$$
DELIMITER ;
로그인 후 복사

데이터 삽입

트리거가 설정되면 간단히 table1에 행을 삽입할 수 있습니다:

INSERT INTO table1 (name) 
VALUES ('Jhon'), ('Mark');
로그인 후 복사

결과

이제 table1의 데이터는 다음과 같습니다. 접두사가 있는 기본 키:

|      ID | NAME |
------------------
| LHPL001 | Jhon |
| LHPL002 | Mark |
로그인 후 복사

이 접근 방식을 사용하면 의미 있는 접두사를 사용하여 원하는 자동 증가 기본 키 동작을 달성하여 데이터 구성 및 검색을 단순화할 수 있습니다.

위 내용은 MySQL에서 접두사가 있는 자동 증가 기본 키를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿