我有这样的查询:
$sql = "
INSERT INTO table
( a, b, c )
VALUES
( 1, 2, 3 )";
$result_set = sqlsrv_query($conn, $sql);
我现在如何回显最后插入的行ID?
谢谢你们..
答案 0 :(得分:2)
如果您插入SqlServer,就像问题中的Tag一样。
SCOPE_IDENTITY()
为您提供最后插入的ID。
$sql = "INSERT INTO table
( a, b, c )
VALUES
( 1, 2, 3 )
SELECT SCOPE_IDENTITY() as newId ";
答案 1 :(得分: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