我有一个将数据插入一行的 MYSQL 语句。行 ID 将自动递增。
但是我如何取回插入并执行的那一行数据呢?那行数据应该包括我不知道那是什么的行ID。
我想要整行 $row,而不仅仅是 id。我不知道 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 的行需要在插入之后立即跟随。