Я использую mysql и столкнулся с некоторой проблемой. Я хочу получить последнюю вставленную строку.
<< Ниже приведены подробности >>
Ниже показано, как я создал таблицу.
create table maxID (myID varchar(4))
Я вставил четыре значения, как показано ниже
insert into maxID values ('A001')
insert into maxID values ('A002')
insert into maxID values ('A004')
insert into maxID values ('A003')
Когда я выполняю select myID, last_insert_id() as NewID from maxID
, я получаю вывод, как показано ниже
myId NewID
A001 0
A002 0
A004 0
A003 0
Когда я попробовал приведенный ниже код,
select myId, last_insert_id() as NewID, @rowid:=@rowid+1 as myrow from maxID, (SELECT @rowid:=0) as init
Я получаю вывод, как показано ниже.
myId NewID rowid
A001 0 1
A002 0 2
A004 0 3
A003 0 4
Однако, когда я использую код select myId, last_insert_id() as NewID, @rowid:=@rowid+1 as myrow from maxID, (SELECT @rowid:=0) as init where @rowid = 4
, я получаю ошибку как Uknown column 'myrow' in where clause
Когда я использую where @rowid=4
, я не получаю никаких данных в таблицах.
Примечание: Здесь я использую 4 только для получения желаемого результата. Позже я могу получить это из запроса (select max(rowid) from maxID)
Пожалуйста, предложите мне, что нужно сделать, если я хочу видеть только последнюю запись, т.е. A003
.
Спасибо за ваше время.
Обновление:
У меня уже есть миллионы данных в моей таблице, поэтому я не могу добавить в нее новый столбец, как предлагается ниже.