Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取sql server 2008中最后插入的id_Php_Mysql_Sql Server 2008 - Fatal编程技术网

Php 获取sql server 2008中最后插入的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() {

我想获取特定表的最后一个插入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() {
    $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和范围标识的工作方式略有不同。在您的解决方案中,我需要运行一个额外的查询。如果不在系统中运行一个额外的查询,我们就不能这样做吗?不。它只在插页上,因此不会成为问题。而且,由于它使用相同的数据库链接,所以它实际上不会有什么不同。您可以编写一个存储过程,它可以返回您想要返回的任何内容,但如果您不需要它,这会更容易。