Mysql
 sql >> база данни >  >> RDS >> Mysql

Получаване на последния запис от mysql

Почти готово. Успявате да получите поръчката за вмъкване. Така че:

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 съответства на реда за вмъкване?
  • Възможно ли е да се получи последния вмъкнат запис в таблица без инкрементален идентификатор или времева марка за вмъкване?

Знам, че не е отговор, но посочването на проблема ограничава проблема.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изберете множество суми с MySQL заявка и ги покажете в отделни колони

  2. Двупосочно DB криптиране сигурно дори от администратора

  3. Изключително базови PHP и Mysql

  4. Ръководство за проектиране на база данни за диспечера на задачите в MySQL

  5. Как да използвам хеширане на пароли с PDO, за да направя кода си по-сигурен?