Also zuerst die
Warnung, dann die Anwort:
Mit dem folgenden Vorschlag kannst Du in Teufelsküche kommen, wenn es nicht wasserdicht umgesetzt ist und es ist durchaus möglich, dass es gar nicht geht. Das musst Du also sauber prüfen, ob es theoretisch gemeinsam mit den Delphikomponenten Deinen Anwendungsfall abdeckt, ob es das praktisch auch tut (Mehrbenutzerumgebung, ...) und in Betracht ziehen, dass es keine wirkliche Lösung ist, denn normalerweise werden für soetwas andere Verfahren verwendet, die
mysql aber nicht bietet.
Wenn überhaupt, eignet sich der Kram unten eher für
SQL Scripts, mglw. kann das auch innerhalb Deiner Komponenten transaktionssicher durchgeführt werden.
Du kannst Dir 1. in
mysql aus dem Information Schema den nächsten Auto Increment Wert je Tabelle holen und Du kannst 2. die zuletzt vergebene ID abfragen. Daraus kannst Du ggF. das zusammensetzen, was Du brauchst:
Nächste AutoID
Code:
SELECT AUTO_INCREMENT
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'myDB'
AND TABLE_NAME = 'myTable';
Code:
LAST_INSERT_ID(); /*bzw*/ SELECT LAST_INSERT_ID();