> 데이터 베이스 > MySQL 튜토리얼 > MySQL에서 자동 증가 기본 키의 접두사를 어떻게 붙일 수 있나요?

MySQL에서 자동 증가 기본 키의 접두사를 어떻게 붙일 수 있나요?

Linda Hamilton
풀어 주다: 2024-12-14 00:45:17
원래의
880명이 탐색했습니다.

How Can I Prefix Auto-Incrementing Primary Keys in MySQL?

MySQL에서 자동 증가 기본 키 접두사 지정

데이터베이스 관리자로서 자동 증가 기본 키 앞에 접두사를 붙이고 싶은 상황이 발생할 수 있습니다. 특정 값으로 기본 키를 증가시킵니다. 이 가이드에서는 별도의 시퀀싱 테이블과 트리거를 사용하는 솔루션을 살펴보겠습니다.

시퀀싱 테이블 생성

먼저, 시퀀스 값을 생성하는 테이블을 생성합니다. :

CREATE TABLE table1_seq (
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
로그인 후 복사

메인 만들기 테이블

다음으로 VARCHAR 유형을 사용하고 기본값 '0'을 지정하여 기본 키 열이 있는 기본 테이블을 만듭니다.

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

접두사 트리거 기본 키

기본 키에 접두사가 붙은 값을 설정하려면 각 삽입 전에 실행되는 트리거를 만듭니다. 기본 테이블에 대한 작업:

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 ;
로그인 후 복사

기본 테이블에 데이터 삽입

이제 기본 키 값을 지정하지 않고도 기본 테이블에 데이터를 삽입할 수 있습니다. 트리거는 자동으로 ID를 생성하고 접두사를 붙입니다.

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

출력

데이터를 삽입하면 테이블에 접두사가 붙은 기본 키가 있는 다음 레코드가 표시됩니다.

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

SQLFiddle 데모

실제 데모를 보려면 여기에서 SQLFiddle 데모를 참조하세요: [링크]

위 내용은 MySQL에서 자동 증가 기본 키의 접두사를 어떻게 붙일 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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