问一个有点难度的问题!!!
背景:--------------------------
表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的时候一定要插入后紧接着查询,中间不要从连接池中得两次连接