在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?
答案 0 :(得分:1)
实际上是行为is very well documented:
对于
REPLACE
语句,如果新行,则受影响的行值为2 替换了旧行,因为在这种情况下,在 重复项已删除。