sql >> Database teknologi >  >> RDS >> Mysql

Henter sidste post fra mysql

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.



  1. Sådan krypteres data i Oracle ved hjælp af PL SQL

  2. SQL Server - Forespørgsel kortslutning?

  3. SOLR DataImport Error Kan ikke udføre forespørgsel

  4. PERIOD_DIFF() Eksempler – MySQL