ITPUB??ì3
ITPUB论坛 » MySQL及其它开源数据库 » last_insert_id()不可靠!!!

标题: last_insert_id()不可靠!!!
离线 yueliangdao0608
斑竹
上帝他爸


来自 中国-红灯区-深圳
精华贴数 0
个人空间 0
技术积分 3951 (349)
社区积分 1471 (699)
注册日期 2005-2-25
论坛徽章:18
现任管理团队成员紫蜘蛛玉兔   
      

发表于 2008-3-26 21:21 


QUOTE:
原帖由 bessiefu 于 2008-3-26 17:18 发表
用返回参数,
SET newId=@@IDENTITY;

不要用SQL  SERVER。


__________________
-------------------------------------------------------
以前搞维护-搞软件-搞网站-现在搞DBA ---
点击这里访问我的技术博客

最近在练习英语中。。。
Losing my face!
只看该作者    顶部
离线 bessiefu
初级会员



来自 上海
精华贴数 0
个人空间 0
技术积分 88 (17955)
社区积分 0 (694325)
注册日期 2005-11-21
论坛徽章:0
      
      

发表于 2008-3-27 14:39 


QUOTE:
原帖由 yueliangdao0608 于 2008-3-26 21:21 发表



不要用SQL  SERVER。

但实践下来,mysql可以用,而且还比last_insert_id()好用阿


只看该作者    顶部
离线 jinguanding
Eugene


来自 上海
精华贴数 1
个人空间 70
技术积分 2334 (660)
社区积分 67 (4110)
注册日期 2007-3-29
论坛徽章:4
现任管理团队成员2008北京奥运纪念徽章:柔道生肖徽章2007版:鼠ITPUB新首页上线纪念徽章  
      

发表于 2008-3-27 15:05 
MySQL也存在@@IDENTITY这函数的


__________________
.....做人做事尽心尽力,做学问谦虚求根问底.......

.....专业的综合布线、安防公司........................
......www.showgold.cn..............................
......上海亮金信息技术有限公司.......................
只看该作者    顶部
离线 yueliangdao0608
斑竹
上帝他爸


来自 中国-红灯区-深圳
精华贴数 0
个人空间 0
技术积分 3951 (349)
社区积分 1471 (699)
注册日期 2005-2-25
论坛徽章:18
现任管理团队成员紫蜘蛛玉兔   
      

发表于 2008-3-27 15:16 


QUOTE:
原帖由 jinguanding 于 2008-3-27 15:05 发表
MySQL也存在@@IDENTITY这函数的




__________________
-------------------------------------------------------
以前搞维护-搞软件-搞网站-现在搞DBA ---
点击这里访问我的技术博客

最近在练习英语中。。。
Losing my face!
只看该作者    顶部
离线 yueliangdao0608
斑竹
上帝他爸


来自 中国-红灯区-深圳
精华贴数 0
个人空间 0
技术积分 3951 (349)
社区积分 1471 (699)
注册日期 2005-2-25
论坛徽章:18
现任管理团队成员紫蜘蛛玉兔   
      

发表于 2008-3-27 15:16 


QUOTE:
原帖由 bessiefu 于 2008-3-27 14:39 发表




但实践下来,mysql可以用,而且还比last_insert_id()好用阿

怎么叫作好用啊?


__________________
-------------------------------------------------------
以前搞维护-搞软件-搞网站-现在搞DBA ---
点击这里访问我的技术博客

最近在练习英语中。。。
Losing my face!
只看该作者    顶部
离线 jinguanding
Eugene


来自 上海
精华贴数 1
个人空间 70
技术积分 2334 (660)
社区积分 67 (4110)
注册日期 2007-3-29
论坛徽章:4
现任管理团队成员2008北京奥运纪念徽章:柔道生肖徽章2007版:鼠ITPUB新首页上线纪念徽章  
      

发表于 2008-4-9 11:48 
今天无意看到官网上,这个值为什么出现只记录生成的第一个auto_increment值的原因(因为我也需要使用,不想select):

假如你使用单INSERT语句插入多个行,  LAST_INSERT_ID() 只返回插入的第一行产生的值。其原因是这使依靠其它服务器复制同样的 INSERT语句变得简单。


__________________
.....做人做事尽心尽力,做学问谦虚求根问底.......

.....专业的综合布线、安防公司........................
......www.showgold.cn..............................
......上海亮金信息技术有限公司.......................
只看该作者    顶部
离线 itpubkumao
中级会员


来自 上海
精华贴数 0
个人空间 0
技术积分 1912 (821)
社区积分 94 (3532)
注册日期 2007-7-8
论坛徽章:7
      
      

发表于 2008-4-9 15:49 
mysql> select * from t;
+----+------+
| c1 | c2   |
+----+------+
|  1 | abc  |
|  2 | qwe  |
+----+------+
2 rows in set (0.01 sec)

mysql> select last_insert_id();
+------------------+
| last_insert_id() |
+------------------+
|                2 |
+------------------+
1 row in set (0.00 sec)

mysql> select @@identity;
+------------+
| @@identity |
+------------+
|          2 |
+------------+
1 row in set (0.00 sec)

mysql> insert t(c2) values('fdg'),('fg'),('sd');
Query OK, 3 rows affected (0.01 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> select last_insert_id();
+------------------+
| last_insert_id() |
+------------------+
|                3 |
+------------------+
1 row in set (0.01 sec)

mysql> select @@identity;
+------------+
| @@identity |
+------------+
|          3 |         <---    也有这个问题
+------------+
1 row in set (0.00 sec)


__________________
能做得更好!
只看该作者    顶部
离线 itpubkumao
中级会员


来自 上海
精华贴数 0
个人空间 0
技术积分 1912 (821)
社区积分 94 (3532)
注册日期 2007-7-8
论坛徽章:7
      
      

发表于 2008-4-9 15:54 


QUOTE:
原帖由 jinguanding 于 2008-4-9 11:48 发表
今天无意看到官网上,这个值为什么出现只记录生成的第一个auto_increment值的原因(因为我也需要使用,不想select):

假如你使用单INSERT语句插入多个行,  LAST_INSERT_ID() 只返回插入的第一行产生的值。其原因是这使依靠其它服务器复制同样的 INSERT语句变得简单。

它为什么不返回的是最后一条插入产生的值呢?!真是的。。。


__________________
能做得更好!
只看该作者    顶部
离线 jinguanding
Eugene


来自 上海
精华贴数 1
个人空间 70
技术积分 2334 (660)
社区积分 67 (4110)
注册日期 2007-3-29
论坛徽章:4
现任管理团队成员2008北京奥运纪念徽章:柔道生肖徽章2007版:鼠ITPUB新首页上线纪念徽章  
      

发表于 2008-4-9 17:15 
别烦扰了...改成SELECT字句获得吧.....原因我帮你找到了


__________________
.....做人做事尽心尽力,做学问谦虚求根问底.......

.....专业的综合布线、安防公司........................
......www.showgold.cn..............................
......上海亮金信息技术有限公司.......................
只看该作者    顶部
离线 itpubkumao
中级会员


来自 上海
精华贴数 0
个人空间 0
技术积分 1912 (821)
社区积分 94 (3532)
注册日期 2007-7-8
论坛徽章:7
      
      

发表于 2008-4-9 19:46 
呵呵!


__________________
能做得更好!
只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问