Sqlsrv驱动Insert into数据返回新增自动编号

2022-12-22 20:57:01
黄豆 UsualTool.com
编程思维/PHP 3589
loading

"在 Microsoft Drivers for PHP for SQL Server 中,SQLSRV 驱动程序的 API 名称为 sqlsrv。 所有 sqlsrv 函数都以 sqlsrv_ 开头,后跟谓词或名词。 后跟谓词的函数可执行特定操作,后跟名词的函数可返回特定形式的元数据。”

曾经,我一直认为sqlsrv无法返回新增ID,而采用PDO连接的方式。之前在一个项目中,不得已必须通过sqlsrv获取到新增ID,因此翻阅了大量资料,最后发现中文资料寥寥无几,有通过max(id)来获取的,也有通过##IDENTITY来获取的,但这些并不是好办法。天不负有心人,终于在翻阅资料的过程中发现SCOPE_IDENTITY这个非常接近我想法的东西。

经过一些测试,SCOPE_IDENTITY更加稳定和靠谱,给出一个PHP示例:


$sql="insert into table (xxx) values (xxx);SELECT SCOPE_IDENTITY();";
$query=sqlsrv_query($db,$sql);
sqlsrv_next_result($query);
$result=sqlsrv_fetch_array($query);
echo$result[0];


+分享给朋友+
郑重提醒:部分素材来源于互联网,如果侵犯了您的权利,请及时联络我们更正,谢谢合作,电邮:usualtool@qq.com