So che è tardi ma voglio solo condividere ciò che ho fatto per questo. Non sono autorizzato ad aggiungere un'altra tabella o trigger, quindi ho bisogno di generarlo in una singola query al momento dell'inserimento. Per il tuo caso, puoi provare questa query.
CREATE TABLE YOURTABLE(
IDNUMBER VARCHAR(7) NOT NULL PRIMARY KEY,
ENAME VARCHAR(30) not null
);
Eseguire un selezionare e utilizzare questa query di selezione e salvare al parametro @IDNUMBER
(SELECT IFNULL
(CONCAT('LHPL',LPAD(
(SUBSTRING_INDEX
(MAX(`IDNUMBER`), 'LHPL',-1) + 1), 5, '0')), 'LHPL001')
AS 'IDNUMBER' FROM YOURTABLE ORDER BY `IDNUMBER` ASC)
e quindi inserire interrogazione sarà:
INSERT INTO YOURTABLE(IDNUMBER, ENAME) VALUES
(@IDNUMBER, 'EMPLOYEE NAME');
Il risultato sarà lo stesso di l'altra risposta, ma la differenza è che non è necessario creare un'altra tabella o trigger. Spero di poter aiutare qualcuno che abbia lo stesso caso del mio.
Inizialmente stavo pensando di memorizzare l'LHPL come una colonna separata e poi concatlo per concat (col1, col2) ma poi sarà un dolore nella S quando un giorno ho bisogno di cambiare l'LHPL. Quindi penso che lo farò dal lato server del programma. –