日期:2014-05-19  浏览次数:20521 次

问一个有点难度的问题!!!
背景:--------------------------

表A有2各字段,ID(自动编号)和NAME
对表A进行INSERT操作,将前页面接收到的NAME插入到表中。
然后显示出来NAME。

以上操作分为2条语句来完成,

分别是INSERT

SELECT   NAME   FROM   表A   WHERE   ID=   MAX(ID)

问题:-------------------------
如果多人操作的话,会不会出现MAX(ID)混乱的情况?

能否,在INSERT的同时,取得到这个自动编号的ID是多少?

这样我通过SELECT   NAME   FROM   表A   WHERE   ID   =   刚才插入操作影响到的ID.

请高手指点,谢谢。




------解决方案--------------------
SELECT NAME FROM 表A WHERE ID=SCOPE_IDENTITY( )
------解决方案--------------------
SELECT NAME FROM 表A WHERE ID=@@IDENTITY

意思和楼上的一样
所谓作用域你就想象为一个数据库连接就好了,虽然这么说不准确

所以,你在用@@IDENTITY的时候一定要插入后紧接着查询,中间不要从连接池中得两次连接