Téměř hotovo. Podařilo se vám získat objednávku vložení. Takže:
select myId, @rowid:[email protected]+1 as myrow from maxID, (SELECT @rowid:=0) as init ORDER BY myrow desc LIMIT 1;
V konzoli se mi zobrazí následující:
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)
Ukázka
AKTUALIZACE
Yak má pravdu. Moje řešení není deterministické. Možná to funguje pro malé množství záznamů. Našel jsem tuny příspěvků o nespolehlivosti výchozího řazení příkazu SELECT (například zde ).Další kroky:
- Za jakých podmínek odpovídá výchozí řazení SELECT pořadí vložení?
- Je možné získat poslední vložený záznam v tabulce bez přírůstkového id nebo časového razítka vložení?
Vím, že to není odpověď, ale uvedením problému se problém omezí.