0

データを行に挿入するMYSQLステートメントがあります。行IDは自動的にインクリメントされます。

しかし、挿入されて実行されたデータの行を元に戻すにはどうすればよいですか?そのデータの行には、それが何であるかわからない行IDが含まれている必要があります。

IDだけでなく、行全体の$rowが必要です。自動インクリメントされるため、IDがわかりません。

4

2 に答える 2

2

自動インクリメントされた ID があるため、LAST_INSERT_ID()を使用できます

例えば

INSERT INTO supportContacts
(type, details)
VALUES
('Twitter', '@sqlfiddle');

SELECT * FROM 
supportContacts 
WHERE id = LAST_INSERT_ID();

デモ

于 2012-05-09T21:51:55.307 に答える
0

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 を含む行は、挿入の直後に続く必要があることに注意してください。

于 2012-05-09T21:40:20.917 に答える