Ich weiß, dass es spät ist, aber ich möchte nur mitteilen, was ich dafür getan habe. Ich darf keine weitere Tabelle oder keinen weiteren Trigger hinzufügen, daher muss ich diese beim Einfügen in einer einzigen Abfrage generieren. Können Sie diese Abfrage für Ihren Fall versuchen?
CREATE TABLE YOURTABLE(
IDNUMBER VARCHAR(7) NOT NULL PRIMARY KEY,
ENAME VARCHAR(30) not null
);
Führen Sie eine Auswahl durch, verwenden Sie diese Auswahlabfrage und speichern Sie sie im Parameter @IDNUMBER
(SELECT IFNULL
(CONCAT('LHPL',LPAD(
(SUBSTRING_INDEX
(MAX(`IDNUMBER`), 'LHPL',-1) + 1), 5, '0')), 'LHPL001')
AS 'IDNUMBER' FROM YOURTABLE ORDER BY `IDNUMBER` ASC)
Und dann lautet die Abfrage einfügen:
INSERT INTO YOURTABLE(IDNUMBER, ENAME) VALUES
(@IDNUMBER, 'EMPLOYEE NAME');
Das Ergebnis ist das gleiche wie bei der anderen Antwort, aber der Unterschied besteht darin, dass Sie keine weitere Tabelle oder keinen anderen Trigger erstellen müssen. Ich hoffe, dass ich jemandem helfen kann, der den gleichen Fall wie ich hat.