MySQLから最後のレコードを取得します
-
30-10-2019 - |
質問
私は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
.
御時間ありがとうございます。
アップデート:
私はすでに何百万ものデータをテーブルに持っているので、以下に提案するように新しい列を追加することはできません。
正しい解決策はありません
所属していません StackOverflow