Maison >base de données >tutoriel mysql >Comment générer automatiquement des clés primaires personnalisées avec un préfixe dans 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 :
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) );
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 ;
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');
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!