Php 获取sql server 2008中最后插入的id
我想获取特定表的最后一个插入id。有谁能告诉我怎么才能做到?Php 获取sql server 2008中最后插入的id,php,mysql,sql-server-2008,Php,Mysql,Sql Server 2008,我想获取特定表的最后一个插入id。有谁能告诉我怎么才能做到? 我们在mysql中有mysql\u insert\u id。sql server 2008中是否有类似的功能 我创建此函数是为了简化:。。。如果您有多个db资源,只需将其传递到mssql_查询请求中即可。这将检索该资源连接上生成的最后一个唯一id mssql_query("insert into data(name) values('bob')"); $id = getLastId(); function getLastId() {
我们在mysql中有mysql\u insert\u id。sql server 2008中是否有类似的功能 我创建此函数是为了简化:。。。如果您有多个db资源,只需将其传递到mssql_查询请求中即可。这将检索该资源连接上生成的最后一个唯一id
mssql_query("insert into data(name) values('bob')");
$id = getLastId();
function getLastId() {
$result = mssql_fetch_assoc(mssql_query("select @@IDENTITY as id"));
return $result['id'];
}
像这样的东西很管用
$sql = "insert into tables(field) values (value);SELECT SCOPE_IDENTITY()";
$db = getConnection();
$results = mssql_fetch_assoc(mssql_query($sql));
$lastid=$results['computed'];
您可能也想研究范围标识,因为@@IDENTITY和范围标识的工作方式略有不同。在您的解决方案中,我需要运行一个额外的查询。如果不在系统中运行一个额外的查询,我们就不能这样做吗?不。它只在插页上,因此不会成为问题。而且,由于它使用相同的数据库链接,所以它实际上不会有什么不同。您可以编写一个存储过程,它可以返回您想要返回的任何内容,但如果您不需要它,这会更容易。