当前位置:首页 > 日记 > 正文

MySQL关于重复密钥更新语法的分析

MySQL关于重复密钥更新语法的分析
MySQL关于重复密钥更新语法
如果在最后插入语句中指定的重复密钥更新,以及插入行将导致唯一索引或主键中的重复值,则以重复的值更新;如果只有值列不会导致重复,则插入新行。
例如,如果列A是主键或具有唯一索引并包含1的值,则以下两个语句具有相同的效果:
复制代码代码如下所示:
插入表格(A,C)值(1,3)重复密钥更新C = C + 1;
更新表集C=C + 1,其中a = 1;

如果将行插入为新记录,则受影响行的值将显示为1;如果更新原始记录,则受影响行的值显示为2。
这个语法也可以用这种方式使用:
如果插入多行记录(假设是主键或唯一索引是一列):
复制代码代码如下所示:
插入表格(A,C)值(1,3),(1)重复密钥更新;

执行后,C的值是4(第二个重复,第1个C,原来的C)。
复制代码代码如下所示:
INSERT INTO TABLE (a, c) VALUES (1,3), (1,7) ON DUPLICATE KEY UPDATE;

执行后,C的值将更改为7(第二个值与第一个值相反,C的值直接为7)。
注意:重复密钥更新只是MySQL的惟一语法,而不是SQL标准语法!
这种语法和适合在使用中需要确定的记录是否存在,不存在是否存在更新的场景。

插入..复制密钥更新多行记录
如果重复密钥更新是在插入语句结束后指定,插入一行,它会导致一个唯一索引或主键重复的值,然后执行旧线更新;如果它不引起的独特价值列复制,插入新的一行。例如,如果列定义为独特的、包含值1,以下两种说法都有同样的效果:
复制代码代码如下所示:
插入表(A,B,C)
值(1,2,3)重复密钥更新C = C + 1;
更新表集C=C + 1,其中a = 1;

如果将行插入为新记录,则受影响行的值为1;如果更新原始记录,则受影响行的值为2。
如果你想知道更多关于插入的功能描述…在复制的钥匙,看MySQL参考文件:第13.2.4。插入语法

现在的问题是,如果插入以多行记录,那么如何在重复密钥更新之后指定以下字段的值要知道INSERT语句中只有一个重复密钥更新,无论他将更新一行还是更新所有需要更新的行。这是困扰我很久的问题。事实上,所有的问题都是用值()函数来解决的。

例如,该领域是独特的,并有记录(2,2,9)和(3,2,1)在原始数据库中的表。如果插入记录的值与原始记录重复,则更新原始记录,否则插入新行。
复制代码代码如下所示:
插入到表(a,b,c)值中
(1,2,3),
(2,5,7),
(3,3,6),
(4,8,2)
关于重复密钥更新b =值(b);

上述SQL语句的执行发现在(2,5,7)与原记录的独特价值冲突(2,2,9)。然后重复密钥更新时,原来的记录(2,2,9)更新为(2,5,9)、的(3,2,1)更新为(2,2,9),和新的记录插入。
注意:重复密钥更新只是MySQL的惟一语法,而不是SQL标准语法!

相关文章

Excel打开CSV格式文件并生成图形功

Excel打开CSV格式文件并生成图形功

功能实现,方案,图形,格式文件,电脑软件,注释:在CSV服务器端生成CSV格式文件后,有时需要基于CSV文件来绘制数据图。此时,您可以将CSV文件传输到Windows端,然后使用excel来详细处理它。请仔细看看这篇文章。 在UNIX服务器端生成CSV格式后,有时需要…

腾讯手机管理器(V3)软件管理的内容是

腾讯手机管理器(V3)软件管理的内容是

软件管理,腾讯,管理器,内容,电脑软件,腾讯手机管理器(V3)软件管理的内容是什么 软件管理包括以下几个方面: 1、安装软件:查看并管理已安装的软件,您可以看到已安装软件的分数和详细信息,并对软件进行评分,并报告流氓软件。您还可以更新和卸载软…

HowtoopenadreamdesktopinWin7toop

HowtoopenadreamdesktopinWin7toop

电脑软件,评论:说到梦幻桌面,你都清楚了。在Vista的极致,微软推出了这个功能,将视频设置实现到桌面。这里有一个小技巧,让你实现Windows 7对梦幻桌面的支持。感兴趣的朋友可以理解它。 当谈到梦想桌面时,大家都清楚,在Vista中,微软推出了这个功能,将…

我的日志怎么不能显示最近的访客呢

我的日志怎么不能显示最近的访客呢

显示,日志,访客,电脑软件,只有黄色钻石的高贵空间是QQ,下面的一个日志将显示博客的昵称,无需手动设置。如果你刚刚打开一个黄色的钻石,登录最近的访客只显示你的朋友访问你后打开黄色钻石日志。 注意:访问日志的朋友可以操作和删除访问记录。…

如何解决windows系统中的计算机图

如何解决windows系统中的计算机图

图标,系统,如何解决,电脑软件,windows,点评:在windows系统中,我经常遇到电脑图标丢失的情况。许多新手朋友对此束手无策。这里有个好办法。我希望我能帮助你。 1。右键点击桌面,右键在桌面-属性-桌面-自定义桌面-选择我的电脑确定。 2。按照…

如何将SQLServer限制为指定的机器

如何将SQLServer限制为指定的机器

连接,如何将,机器,电脑软件,SQLServer,您所关注的Oracle课程是:如何将SQL Server限制为指定的机器连接 (V1.0 19.10.1998) 如何将SQL服务器限制为指定的机器连接 SQL Server没有内置的工具/工具来完成此操作。它,做,第一个是,另一个是,第二部分是: …

linux查看文件内容,创建,查看软链接

linux查看文件内容,创建,查看软链接

硬链接,文件,命令,软链接,示例,注释:查看文件的内容,创建软连接,创建硬链接等命令,在操作过程中是相当常见的。具体例子如下:有兴趣的朋友可以参考一下,希望对您有所帮助。 命令1:查看文件的内容 猫文件名查看文件的内容,页面停留在页面的结尾。 …

怎样才能获得不增加花藤营养指数的

怎样才能获得不增加花藤营养指数的

空间,项目,营养,电脑软件,QQ,怎样才能获得不增加花藤营养指数的QQ空间项目 1、黄钻石用户黄色钻石免费项目不增加营养指数; 2,参与活动的QQ空间项目没有增加营养指数; 3,QQ空间商业城的商品和音乐购买的手机没有增加营养指数。 4,朋友收到的…

SVN常见问题与对策分析

SVN常见问题与对策分析

常见问题,对策,电脑软件,SVN,黄色感叹号(冲突): 这是一个冲突,冲突的是你已经修改了一个文件,别人也改变了这个文件,抢在你提交提交,然后会提示你提交的冲突,但不允许你提交你的提交,防止别人盖的变化。要解决冲突,如果你确认你的修改是无效的,然后使…

什么是PHP数据类型判断函数

什么是PHP数据类型判断函数

函数,数据类型,电脑软件,PHP,复制代码代码如下所示: is_bool(),(),is_float is_int(),(),()is_string is_object,is_array(),()和is_integer。 注意判断 is_numeric()检测变量是否是一个数字或数字串用不同的is_integer()…

软件管理的功能是什么

软件管理的功能是什么

软件管理,功能,电脑软件,使用软件管理可以下载手机管家验证的各种绿色软件。同时,还可以查看软件的下载进度和管理安装包,以便下载和安装一目了然。 它通常包含以下几个方面: 1、安装软件:查看并管理已安装的软件,您可以看到已安装软件的分数…

XP你相信死亡倒计时吗

XP你相信死亡倒计时吗

死亡,倒计时,电脑软件,XP,近日,有媒体报道,微软将停止加热修复,从4月8日XP用户的产品更新和安全补丁,2014.sp3是XP的最后一个服务包,其支持的最后期限也在2014年4月8日底。 2014年4月8日之后,XP系统仍然可以使用,但微软上的所有更新和支持服务都将…