Maison > base de données > tutoriel mysql > Comment générer automatiquement des clés primaires personnalisées avec un préfixe dans MySQL ?

Comment générer automatiquement des clés primaires personnalisées avec un préfixe dans MySQL ?

Barbara Streisand
Libérer: 2024-12-25 12:36:09
original
229 Les gens l'ont consulté

How to Automatically Generate Custom Primary Keys with a Prefix in MySQL?

Clés primaires personnalisées avec incrémentation automatique du préfixe

Dans la conception de bases de données, il est courant d'exiger des clés primaires personnalisées qui suivent un format spécifique, tel que comme dans ce cas où le champ ID doit être incrémenté dans le formulaire 'LHPL001', 'LHPL002', 'LHPL003'.

Solution 1 : Tableau de déclenchement et de séquence

Cette approche utilise une table séparée pour générer des séquences et un déclencheur pour attribuer ces séquences à de nouvelles enregistrements.

Mise en œuvre :

  1. Créer une table de séquence :
CREATE TABLE table1_seq (
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
Copier après la connexion
  1. Créer principal Tableau :
CREATE TABLE table1 (
  id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0',
  name VARCHAR(30)
);
Copier après la connexion
  1. Créer un déclencheur :
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 ;
Copier après la connexion

Avec cette configuration, de nouvelles lignes insérées dans le table1 générera automatiquement un numéro de séquence préfixé par « LHPL » dans l'identifiant champ.

Exemple :

INSERT INTO Table1 (name) 
VALUES ('Jhon'), ('Mark');
Copier après la connexion

Résultat :

ID NAME
LHPL001 Jhon
LHPL002 Mark

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal