加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

我可以始终行使INSERT…ON DUPLICATE UPDATE举办简朴的更新/插入

发布时间:2021-01-25 02:24:51 所属栏目:编程 来源:网络整理
导读:(MYSQL)是否存在明明的机能差别,或其他缘故起因不行使INSERT ON DUPLICATE UPDATE sql通过PK /插入新内容举办更新?最佳谜底不,没有. INSERT ON DUPLICATE KEY UPDATE将定位记录并更新它,就像简朴的UPDATE一样. 现实上,这只是一个UPDATE,假如UPDATE失败,则后头是

(MYSQL)是否存在明明的机能差别,或其他缘故起因不行使INSERT … ON DUPLICATE UPDATE sql通过PK /插入新内容举办更新? 最佳谜底 不,没有.

INSERT ON DUPLICATE KEY UPDATE将定位记录并更新它,就像简朴的UPDATE一样.

现实上,这只是一个UPDATE,假如UPDATE失败,则后头是INSERT.

INSERT ON DUPLICATE KEY UPDATE可所以分组更新的更快更换要领(当您的源表的每个键包括多个记录,而且但愿每个记录增进一次方针表时).

假如每个键的值很少,则此查询:

INSERT
INTO    t_target
SELECT  target,cnt
FROM    t_sparse d
ON DUPLICATE KEY UPDATE
        t_target.cnt = t_target.cnt + d.cnt

将比这更有用:

INSERT
INTO    t_target
SELECT  target,cnt
FROM    (
        SELECT  target,SUM(cnt) AS cnt
        FROM    t_sparse di
        GROUP BY
                target
        ) d
ON DUPLICATE KEY UPDATE
        t_target.cnt = t_target.cnt + d.cnt

有关更多具体信息,请拜见我的博客中的这篇文章:

> Efficient INSERT ON DUPLICATE KEY UPDATE

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读