0

我有一个将数据插入一行的 MYSQL 语句。行 ID 将自动递增。

但是我如何取回插入并执行的那一行数据呢?那行数据应该包括我不知道那是什么的行ID。

我想要整行 $row,而不仅仅是 id。我不知道 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 回答