Næsten færdig. Det lykkes dig at få indstiksrækkefølgen. Så:
select myId, @rowid:[email protected]+1 as myrow from maxID, (SELECT @rowid:=0) as init ORDER BY myrow desc LIMIT 1;
I min konsol får jeg følgende:
mysql> select myId, @rowid:[email protected]+1 as myrow from maxID, (SELECT @rowid:=0) as
init ORDER BY myrow desc LIMIT 1;
+------+-------+
| myId | myrow |
+------+-------+
| A003 | 4 |
+------+-------+
1 row in set (0.00 sec)
Demo
OPDATERING
Yak har ret. Min løsning er ikke deterministisk. Måske virker det for små mængder poster. Jeg fandt masser af indlæg om upålideligheden af standardsortering af en SELECT-sætning (her for eksempel ). Næste trin:
- Under hvilke betingelser matcher standard SELECT-sortering indsættelsesrækkefølgen?
- Er det muligt at få den sidst indsatte post i en tabel uden et inkrementelt id eller et indsættelsestidsstempel?
Jeg ved godt, at det ikke er et svar, men at angive problemet begrænser problemet.