替换后的MySQL ROW_COUNT

时间:2019-01-18 10:44:47

标签: mysql sql

ROW_COUNT之后,我得到了REPLACE的一些奇数值。在下面的示例中,第二个REPLACE返回2而不是1。有人可以解释为什么吗?在MySQL 5.6和5.7上都会发生这种情况

create table test(
    id int not null primary key, 
    d  int not null unique
);

replace into test(id,d) values(1,1);
select row_count(); -- returns 1

replace into test(id,d) values(1,1);
select row_count(); -- returns 2... why?

1 个答案:

答案 0 :(得分:1)

实际上是行为is very well documented

  

对于REPLACE语句,如果新行,则受影响的行值为2   替换了旧行,因为在这种情况下,在   重复项已删除。