データを行に挿入するMYSQLステートメントがあります。行IDは自動的にインクリメントされます。
しかし、挿入されて実行されたデータの行を元に戻すにはどうすればよいですか?そのデータの行には、それが何であるかわからない行IDが含まれている必要があります。
IDだけでなく、行全体の$rowが必要です。自動インクリメントされるため、IDがわかりません。
自動インクリメントされた ID があるため、LAST_INSERT_ID()を使用できます
例えば
INSERT INTO supportContacts
(type, details)
VALUES
('Twitter', '@sqlfiddle');
SELECT * FROM
supportContacts
WHERE id = LAST_INSERT_ID();
id の自動インクリメント列がある場合、次はどのデータベースでも機能します。
select *
from table
where id = (select max(id) from table)
誰も行を挿入していないという前提の下で。
SQL Server では、次のことができます。
declare @id int;
insert . . .
select @id = @@Identity;
select *
from table
where id = @id;
@@Identity を含む行は、挿入の直後に続く必要があることに注意してください。