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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top