当前位置:七道奇文章资讯数据防范MySQL防范
日期:2012-04-20 17:29:00  来源:本站整理

mysql"ON DUPLICATE KEY UPDATE"语法简析[MySQL防范]

赞助商链接



  本文“mysql"ON DUPLICATE KEY UPDATE"语法简析[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

  假如在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会招致在一个UNIQUE索引或PRIMARY KEY中呈现反复值,则在呈现反复值的行履行UPDATE;

  假如不会招致唯一值列反复的问题,则插入新行. www.110hack.com

  比方,假如列 a 为 主键 或 拥有UNIQUE索引,并且包含值1,则以下两个语句具有相同的效果:

  1

  INSERT INTO TABLE (a,c) VALUES (1,3) ON DUPLICATE KEY UPDATE c=c+1;

  2

  UPDATE TABLE SET c=c+1 WHERE a=1;

  假如行作为新记录被插入,则受影响行的值显示1;假如原有的记录被更新,则受影响行的值显示2.

  这个语法还可以这样用:

  假如INSERT多行记录(假定 a 为主键或 a 是一个 UNIQUE索引列):

  1

  1.INSERT INTO TABLE (a,c) VALUES (1,3),(1,7) ON DUPLICATE KEY UPDATE c=c+1;

  履行后, c 的值会变成 4 (第二条与第一条反复, c 在原值上+1).

  1 www.110hack.com

  2.INSERT INTO TABLE (a,c) VALUES (1,3),(1,7) ON DUPLICATE KEY UPDATE c=VALUES(c);

  履行后, c 的值会变成 7 (第二条与第一条反复, c 在直接取反复的值7).

  注意:ON DUPLICATE KEY UPDATE只是MySQL的特有语法,并非SQL尺度语法!

  这个语法和适实用在需求 判断记录能否存在,不存在则插入存在则更新的场景.

  可以参评语法:

  http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#insert

  作者 雪人


  以上是“mysql"ON DUPLICATE KEY UPDATE"语法简析[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 搭配 IIS7 PHP MySQL 环境
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • mysql数据库插入速度和读取速度的调整记录
  • MySQL Order By索引优化办法
  • MySQL Order By用法分享
  • mysql #1062 –Duplicate entry ''1'' for key ''PRIMARY''
  • MySQL Order By Rand()效率解析
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .