sql >> Databáze >  >> RDS >> Mysql

Získávání posledního záznamu z mysql

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í.



  1. Dotaz MYSQL / data starší než 1 týden (všechna data a časy v UTC)

  2. Oracle - doslovný neodpovídá chyba formátovacího řetězce

  3. Kontejnery Oracle pro J2EE (OC4J) v R12

  4. Příkaz SQL CASE