2012-10-14 144 views
1

可能重复:
SQL: How to get the id of values I just INSERTed?等效mysql_insert_id()对MS SQL服务器的

对于PHP,什么是为SQL Server 2012等效mysql_insert_id()

sqlsrv_insert_id()似乎并不存在。

说这是代码

if ($result) { 
      // get user details 
      $uid = mysql_insert_id(); // last inserted id 
      $result = mysql_query("SELECT * FROM users WHERE uid = $uid"); 
      // return user details 
      return mysql_fetch_array($result); 
     } else { 
      return false; 
     } 

为MySQL, 我应该怎么做的SQL Server?

+0

嗯..但它不提供一个PHP语法? – william007

+1

PDO有[lastInsertId](http://www.php.net/manual/en/pdo.lastinsertid.php),切换到PDO可能是一个好主意? – fvu

回答

6

检查了这一点:http://fr2.php.net/manual/en/book.mssql.php 在那边你有注释的PHP语法的评论:

 

function mssql_insert_id() { 
    $id = 0; 
    $res = mssql_query("SELECT @@identity AS id"); 
    if ($row = mssql_fetch_array($res, MSSQL_ASSOC)) { 
     $id = $row["id"]; 
    } 
    return $id; 
} 

+0

mysql_fetch_array($ res,MYSQL_ASSOC)..使用mysql for sqlsrv? – william007

+0

不,这没什么意义,我从我引用的链接复制并粘贴,我认为他们在那里有一个错字,我会修复我复制粘贴的内容,请告诉我们它是否有效:) –

1

或查询它:

SELECT `column_id` FROM `table` ORDER BY `column_id` DESC TOP 1 

TOP是MySQL当量限值