一尘不染

如何在PHP的MSSQL中获取插入ID?

php

问题标题怎么说。使用诸如之类的查询时SELECT @@IDENTITY AS ins_id,我是否需要提供表名或任何其他信息以指定我正在谈论的表/数据库?


阅读 303

收藏
2020-05-29

共1个答案

一尘不染

@@IDENTITY返回当前会话中生成的最新标识。在大多数情况下,您可能需要使用SCOPE_IDENTITY它,它返回当前作用域中生成的最新标识。

例如,如果您向 table1中 插入一行,但是该插入触发了将行插入到 table2中 的触发器,则@@IDENTITY它将从 table2
返回标识,而SCOPE_IDENTITY将从 table1 返回标识。

INSERT INTO my_table (my_column) VALUES ('test')

-- return the identity of the row you just inserted into my_table
-- regardless of any other inserts made by triggers etc
SELECT SCOPE_IDENTITY() AS ins_id
2020-05-29