Obtener el último registro de MySQL
-
30-10-2019 - |
Pregunta
Estoy usando mysql y enfrentando algún problema. Quiero recuperar la última fila que se inserta.
<< A continuación se muestran detalles >>
A continuación se muestra cómo creé la tabla.
create table maxID (myID varchar(4))
Inserté cuatro valores en él a continuación
insert into maxID values ('A001')
insert into maxID values ('A002')
insert into maxID values ('A004')
insert into maxID values ('A003')
Cuando ejecuto select myID, last_insert_id() as NewID from maxID
, Obtengo la salida como se muestra a continuación
myId NewID
A001 0
A002 0
A004 0
A003 0
Cuando probé el código a continuación,
select myId, last_insert_id() as NewID, @rowid:=@rowid+1 as myrow from maxID, (SELECT @rowid:=0) as init
Obtengo la salida como se muestra a continuación.
myId NewID rowid
A001 0 1
A002 0 2
A004 0 3
A003 0 4
Sin embargo, cuando uso código select myId, last_insert_id() as NewID, @rowid:=@rowid+1 as myrow from maxID, (SELECT @rowid:=0) as init where @rowid = 4
, Recibo error como Uknown column 'myrow' in where clause
Cuando uso where @rowid=4
, No obtengo ningún dato en tablas.
Enlace para jugar con datos
Nota: Aquí estoy usando 4 solo para obtener la salida deseada. Más tarde puedo obtener esto de una consulta (select max(rowid) from maxID)
Por favor sugiéreme qué debe hacer si quiero ver solo el último registro, es decir, A003
.
Gracias por tu tiempo.
Actualizar:
Ya tengo millones de datos en mi tabla, por lo que no puedo agregar una nueva columna como se sugiere a continuación.
No hay solución correcta