on duplicate key update 的 insert_id 如何确定

hellogirl 发布于 2015/01/29 17:34
阅读 1K+
收藏 0

Mysql中,比如有个语句:

INSERT INTO table (a,b) VALUES (1,2)
  ON DUPLICATE KEY UPDATE b=2

其中有id列设为了主键并自增,a列建立了唯一索引。

现在这个语句如果执行的是插入,之后要获取 insert_id 没有问题;
如果执行的更新,获取的 insert_id 是否是更新的那一行的 id?如果不是,那返回什么?

没时间测试,大家讨论下。

加载中
0
聽雨人
聽雨人
没时间讨论,大家测试下。。。


select id from table where a=1;

0
hellogirl
hellogirl

引用来自“xia-yongsheng”的评论

没时间讨论,大家测试下。。。


select id from table where a=1;

测试如下:

若执行了更新,是返回更新的那一行的id;若既没有插入也没有更新(值一样),返回0。

0
pantrick
pantrick

这个语句还有返回值?


返回顶部
顶部