Wiem, że jest późno, ale chcę się tylko podzielić tym, co w tym celu zrobiłem. Nie mogę dodać kolejnej tabeli ani wyzwalacza, więc po wstawieniu muszę wygenerować je w jednym zapytaniu. Czy w Twoim przypadku możesz spróbować tego zapytania.
CREATE TABLE YOURTABLE(
IDNUMBER VARCHAR(7) NOT NULL PRIMARY KEY,
ENAME VARCHAR(30) not null
);
Wykonaj selekcję i użyj tego zapytania wybierającego, a następnie zapisz parametr @IDNUMBER
(SELECT IFNULL
(CONCAT('LHPL',LPAD(
(SUBSTRING_INDEX
(MAX(`IDNUMBER`), 'LHPL',-1) + 1), 5, '0')), 'LHPL001')
AS 'IDNUMBER' FROM YOURTABLE ORDER BY `IDNUMBER` ASC)
A następnie Wstaw zapytanie będzie:
INSERT INTO YOURTABLE(IDNUMBER, ENAME) VALUES
(@IDNUMBER, 'EMPLOYEE NAME');
Wynik będzie taki sam, jak w przypadku drugiej odpowiedzi, ale różnica polega na tym, że nie będziesz musiał tworzyć kolejnej tabeli ani wyzwalacza. Mam nadzieję, że mogę pomóc komuś, kto ma taki sam przypadek jak mój.