**结束。**此问题不符合堆栈溢出准则。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
两年前关门了。
改进这个问题
我们知道“replace”将删除同一行的主列,然后插入新行(如果主列与当前存在的行相同)。
例如,id是t的primary:create table t( id
整数(10), num
int(10),主键( id
)); 现在我运行'replace into t(id,num)values(1123);'两次。
在我第二次运行这个sql时,mysql会“愚蠢地”删除并再次插入这一行吗?或者,mysql足够聪明,什么也不做?
/////////更新如下
mysql>替换t值(1,3);查询正常,1行受影响(0.01秒)------
mysql>替换t值(1,4);查询正常,2行受影响(0.01秒)--
mysql>替换t值(1,4);查询正常,1行受影响(0.01秒)--
当我第一次替换(1,4)时,它说2行受影响;第二次说有1排。我们第一次知道,它删除(1,3)并插入(1,4);但第二次,mysql服务器发生了什么?删除(1,4)并再次插入(1,4)?或者什么都不做?
暂无答案!
目前还没有任何答案,快来回答吧!