私はmysqlを使用していて、いくつかの問題に直面しています。挿入された最後の行を取得したい。
《以下詳細》
以下は、私がテーブルを作成した方法です。
create table maxID (myID varchar(4))
以下のように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
。
御時間ありがとうございます。