0

我有一个这样的查询:

$sql = "
INSERT INTO table
( a, b, c )
VALUES
( 1, 2, 3 )";

$result_set = sqlsrv_query($conn, $sql);

我现在如何回显最后插入的行 ID?

多谢你们..

4

2 回答 2

2

如果您插入到 SqlServer,就像您问题中的标签所说的那样。

SCOPE_IDENTITY()为您提供最后插入的 ID 。

$sql = "INSERT INTO table
        ( a, b, c )
        VALUES
        ( 1, 2, 3 )

        SELECT SCOPE_IDENTITY() as newId ";
于 2012-09-06T11:19:04.570 回答
0
$dbres = sqlsrv_query('SELECT LAST_INSERT_ID()');
$dbrow = sqlsrv_fetch_array($dbres);
$lastInsertId = $dbrow[0];

您可以这样做,但在您获得插入 ID 并将所有内容弄乱之前,可能会发生另一个插入,所以最好这样:

INSERT into table(a, b, c) OUTPUT Inserted.a, Inserted.b, Inserted.c VALUES (1, 2, 3)

或者这样:

INSERT into table(a, b, c) VALUES (1, 2, 3) SELECT SCOPE_IDENTITY() as lastId
于 2012-09-06T11:23:14.773 回答