Я знаю, що пізно, але я просто хочу поділитися тим, що я зробив для цього. Мені не дозволено додавати іншу таблицю або тригер, тому мені потрібно його генерувати в одному запиті після вставки. Ви можете спробувати цей запит для свого випадку.
CREATE TABLE YOURTABLE(
IDNUMBER VARCHAR(7) NOT NULL PRIMARY KEY,
ENAME VARCHAR(30) not null
);
Виконайте вибір і скористайтеся цим запитом вибору та збережіть у параметрі @IDNUMBER
(SELECT IFNULL
(CONCAT('LHPL',LPAD(
(SUBSTRING_INDEX
(MAX(`IDNUMBER`), 'LHPL',-1) + 1), 5, '0')), 'LHPL001')
AS 'IDNUMBER' FROM YOURTABLE ORDER BY `IDNUMBER` ASC)
І тоді запит Вставити буде:
INSERT INTO YOURTABLE(IDNUMBER, ENAME) VALUES
(@IDNUMBER, 'EMPLOYEE NAME');
Результат буде однаковим з іншою відповіддю, але різниця полягає в тому, що вам не потрібно буде створювати іншу таблицю або тригер. Я сподіваюся, що можу допомогти комусь, хто має такий самий випадок, як і я.