Je sais qu'il est tard mais je veux juste partager ce que j'ai fait pour cela. Je ne suis pas autorisé à ajouter une autre table ou un autre déclencheur et je dois donc les générer dans une seule requête lors de l'insertion. Pour votre cas, pouvez-vous essayer cette requête.
CREATE TABLE YOURTABLE(
IDNUMBER VARCHAR(7) NOT NULL PRIMARY KEY,
ENAME VARCHAR(30) not null
);
Effectuez une sélection et utilisez cette requête de sélection et enregistrez-la dans le paramètre @IDNUMBER.
(SELECT IFNULL
(CONCAT('LHPL',LPAD(
(SUBSTRING_INDEX
(MAX(`IDNUMBER`), 'LHPL',-1) + 1), 5, '0')), 'LHPL001')
AS 'IDNUMBER' FROM YOURTABLE ORDER BY `IDNUMBER` ASC)
Et alors la requête d'insertion sera :
INSERT INTO YOURTABLE(IDNUMBER, ENAME) VALUES
(@IDNUMBER, 'EMPLOYEE NAME');
Le résultat sera le même que celui de l'autre réponse, mais la différence est que vous n'aurez pas besoin de créer une autre table ou un autre trigger. J'espère que je peux aider quelqu'un qui a le même cas que moi.