Obtendo o último registro do mysql
Estou usando o mysql e estou enfrentando algum problema. Quero recuperar a última linha inserid
<< Abaixo estão os detalhes >>
Abaixo é como eu criei a tabel
create table maxID (myID varchar(4))
I inseri quatro valores como abaixo
insert into maxID values ('A001')
insert into maxID values ('A002')
insert into maxID values ('A004')
insert into maxID values ('A003')
Quando executoselect myID, last_insert_id() as NewID from maxID
, Recebo a saída como abaixo
myId NewID
A001 0
A002 0
A004 0
A003 0
Quando tentei o código abaixo,
select myId, last_insert_id() as NewID, @rowid:=@rowid+1 as myrow from maxID, (SELECT @rowid:=0) as init
Recebo a saída como abaix
myId NewID rowid
A001 0 1
A002 0 2
A004 0 3
A003 0 4
No entanto, quando eu uso o códigoselect myId, last_insert_id() as NewID, @rowid:=@rowid+1 as myrow from maxID, (SELECT @rowid:=0) as init where @rowid = 4
, Recebo erro comoUknown column 'myrow' in where clause
Quando eu usowhere @rowid=4
, Não recebo dados nas tabela
Nota Aqui estou usando 4 apenas para obter a saída desejada. Mais tarde, posso obtê-lo em uma consulta(select max(rowid) from maxID)
Sugira-me o que preciso fazer se quiser ver apenas o último registro, ou seja,A003
.
Obrigado pelo seu tempo
Atualizar Eu já tenho milhões de dados na minha tabela, então não posso adicionar uma nova coluna, como sugerido abaix