次のようなクエリがあります。
$sql = "
INSERT INTO table
( a, b, c )
VALUES
( 1, 2, 3 )";
$result_set = sqlsrv_query($conn, $sql);
最後に挿入された行 ID をエコーするにはどうすればよいですか?
みんなありがとう..
次のようなクエリがあります。
$sql = "
INSERT INTO table
( a, b, c )
VALUES
( 1, 2, 3 )";
$result_set = sqlsrv_query($conn, $sql);
最後に挿入された行 ID をエコーするにはどうすればよいですか?
みんなありがとう..
あなたの質問のタグが言うように、SqlServerに挿入する場合。
最後に挿入されたSCOPE_IDENTITY()
ID が表示されます。
$sql = "INSERT INTO table
( a, b, c )
VALUES
( 1, 2, 3 )
SELECT SCOPE_IDENTITY() as newId ";
$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