问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

解析SQL语句中Replace INTO与INSERT INTO的不同之处

发布网友 发布时间:2022-04-30 02:05

我来回答

1个回答

热心网友 时间:2022-04-12 13:17

本篇文章是对SQL语句中Replace
INTO与INSERT
INTO的不同之处进行了详细的分析介绍,需要的朋友参考下

REPLACE的运行与INSERT很相似。只有一点例外,假如表中的一个旧记录与一个用于PRIMARY
KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。
注意,除非表有一个PRIMARY
KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行。
所有列的值均取自在REPLACE语句中被指定的值。所有缺失的列被设置为各自的默认值,这和INSERT一样。您不能从当前行中引用值,也不能在
新行中使用值。如果您使用一个例如“SET
col_name
=
col_name
+
1”的赋值,则对位于右侧的列名称的引用会被作为DEFAULT(col_name)处理。因此,该赋值相当于SET
col_name
=
DEFAULT(col_name)
+
1。
为了能够使用REPLACE,您必须同时拥有表的INSERT和DELETE权限。
REPLACE语句会返回一个数,来指示受影响的行的数目。该数是被删除和被插入的行数的和。如果对于一个单行REPLACE该数为1,则一行被插
入,同时没有行被删除。如果该数大于1,则在新行被插入前,有一个或多个旧行被删除。如果表包含多个唯一索引,并且新行复制了在不同的唯一索引中的不同旧
行的值,则有可能是一个单一行替换了多个旧行。
受影响的行数可以容易地确定是否REPLACE只添加了一行,或者是否REPLACE也替换了其它行:检查该数是否为1(添加)或更大(替换)。
如果您正在使用C
API,则可以使用mysql_affected_rows()函数获得受影响的行数。
目前,您不能在一个子查询中,向一个表中更换,同时从同一个表中选择。
下文时算法的详细说明(此算法也用于LOAD
DATA…REPLACE):
1.
尝试把新行插入到表中
2.
当因为对于主键或唯一关键字出现重复关键字错误而造成插入失败时:
a.
从表中删除含有重复关键字值的冲突行
b.
再次尝试把新行插入到表中
使用格式如下:
REPLACE
[LOW_PRIORITY
|
DELAYED]
[INTO]
tbl_name
[(col_name,...)]
VALUES
({expr
|
DEFAULT},…),(…),…
或:
REPLACE
[LOW_PRIORITY
|
DELAYED]
[INTO]
tbl_name
SET
col_name={expr
|
DEFAULT},

或:
REPLACE
[LOW_PRIORITY
|
DELAYED]
[INTO]
tbl_name
[(col_name,...)]
SELECT
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...啊?我从嘴里吐出去是直的算过肺了吗?我不会从鼻子里出去_百度... 恶心呕吐是什么? 高考数学大题应注意哪些问题呢? 高考数学可不可以用高等数学啊 高考数学 基础知识点 常见考查方式 高考数学考什么内容 一般纳税人如何交所得税 以前的QQ忘记密码了那时候不要了就不找回密码了,现在想找回来,但是又没... 常州机场坐飞机流程 常州机场大巴时刻表 ...我早上九点起飞的飞机, 然后我这的机场快线大巴到机场时70分钟,_百 ... tp框架mysql replace into怎么写 请假条怎么写事假内容具有说服力 98年左右的海德堡电脑台怎么操作?我现在做的是2008款海德堡CD102-4,想换个厂做做,要去的厂是2手海德堡 初三化学:急!(计算过程) [标签]:硫酸 化学纯(CP)(500mL) 品名:硫酸 化学式:H2SO4 相对分子质量:9 甩了王思聪跟蔡徐坤恋爱,不分场合撩汉,98年小花想红想疯了? 依诺沙星,依诺沙星厂家,依诺沙星价格?应用?用途? 双辰牌鸡枞油怎样打开 老人进养老院,执意不让嫁出去的女人平摊费用,儿子不愿意,这样对么? 居家养老和养老院哪个更适合工薪阶层? cp84能用cp98替带吗? 广州本田雅阁底盘号是什么意思? 朋友机子98系统,出现找不到存在的输入msvcrt.dll:_lc_collate_cp 电子工程系通信专业的毕业论文要怎么写? 如何做好大学社团的“家”文化? 在化学中Cf,Cp是什么意思 求通信工程专业毕业论文,要文章 98小花靠甜宠剧爆红,为何不现实还如此受欢迎? 通信专业的毕业论文与毕业后工作打算如何写? 株洲的养老院怎么样,指的是环境和 服务方面? 硫酸试剂标签的部分内容:硫酸,化学纯CP,相对分子质量98,密度1.84g/cm3,质量分数98% Replace INTO和INSERT INTO的区别 有不带线,插排后板直接带个插头的插排吗? MySQL中insert ignore into 和 replace into都是干什么用的 有什么区... 三下乡体育教学教案(详尽) 三下乡有些什么活动主题 为什么网上会有没线的插排卖?是因为可以自定义线的长度吗,线该怎么配呢? 昨天你还陪我睡,今天变成别人的宝贝是那首歌的歌词 交流情感时要运用什么思维? 插入数据怎么使用 replace into 无线插排的工作原理,插排没有任何线连接就可以给设备供电,墙上的插座有个发射器,插排有个接收器? 怎样卸载干净32office软件win10 急求福建警察学院的相关信息!!! MYSQL中insert into和replace into以及insert ignore的区别 智能马桶有两相的不用接线的插座是不是可以 没有接地线的插排是否会造成漏电保护器不工作?请原理分析! 三下乡时,对队员进行技能培训有什么意义 有谁知道电视剧《搭错车》小美和时君迈合唱的是什么歌吗? win10.32位怎么彻底删除office2010,网上的卸载软件我的电脑无法运行. 最新版电视剧《搭错车》里的一首歌《是否》是谁唱的 天津哪有卖牛轧糖的?