Почти готово. Успявате да получите поръчката за вмъкване. Така че:
select myId, @rowid:[email protected]+1 as myrow from maxID, (SELECT @rowid:=0) as init ORDER BY myrow desc LIMIT 1;
В моята конзола получавам следното:
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)
Демо
АКТУАЛИЗИРАНЕ
Як е прав. Моето решение не е детерминистично. Може би работи за малко количество записи. Открих много публикации относно ненадеждността на сортирането по подразбиране на оператор SELECT (тук например ).Следващи стъпки:
- При какви условия сортирането по подразбиране SELECT съответства на реда за вмъкване?
- Възможно ли е да се получи последния вмъкнат запис в таблица без инкрементален идентификатор или времева марка за вмъкване?
Знам, че не е отговор, но посочването на проблема ограничава проблема.