Ottenere l'ultimo record da MySQL
-
30-10-2019 - |
Domanda
Sto usando MySQL e affronto qualche problema. Voglio recuperare l'ultima riga inserita.
<< Di seguito sono riportati i dettagli >>
Di seguito è come ho creato la tabella.
create table maxID (myID varchar(4))
Ho inserito quattro valori come di seguito
insert into maxID values ('A001')
insert into maxID values ('A002')
insert into maxID values ('A004')
insert into maxID values ('A003')
Quando eseguo select myID, last_insert_id() as NewID from maxID
, Ottengo l'output come di seguito
myId NewID
A001 0
A002 0
A004 0
A003 0
Quando ho provato di seguito il codice,
select myId, last_insert_id() as NewID, @rowid:=@rowid+1 as myrow from maxID, (SELECT @rowid:=0) as init
Ricevo output come di seguito.
myId NewID rowid
A001 0 1
A002 0 2
A004 0 3
A003 0 4
Tuttavia, quando uso il codice select myId, last_insert_id() as NewID, @rowid:=@rowid+1 as myrow from maxID, (SELECT @rowid:=0) as init where @rowid = 4
, Ricevo errori come Uknown column 'myrow' in where clause
Quando uso where @rowid=4
, Non ottengo dati nelle tabelle.
Collegamento a giocare con i dati
Nota: Qui sto usando 4 solo per ottenere l'output desiderato. Più tardi posso ottenere questo da una domanda (select max(rowid) from maxID)
Per favore suggeriscimi cosa è necessario fare se voglio vedere solo l'ultimo record, cioè A003
.
Grazie per il tuo tempo.
Aggiornare:
Ho già milioni di dati nella mia tabella, quindi non posso aggiungere una nuova colonna come suggerito di seguito.
Nessuna soluzione corretta