美文网首页
mysql数据库插入信息 如果存在则修改某些值

mysql数据库插入信息 如果存在则修改某些值

作者: lv_shun | 来源:发表于2019-05-07 16:26 被阅读0次

    题目比较难理解,懂得自然懂。

    需求

    设计库存数据表时,字段有id、store_id、goods_id、count

    字段 描述
    id id
    store_id 仓库id
    goods_id 商品id
    count 数量

    这几个字段是关键,通常情况仓库和商品联合唯一,就是某个仓库的某件商品只会有一条记录。然后需求是需要入库出库时更新库存记录,而且时批量更新。我作为小白的思路是:1. 查询是否有记录 2.有则update数量,没有则insert一条。但是批量操作很麻烦,频繁查询、插入、修改,写的麻烦运行效率也不高。作为一个懒货当然要想个简单的方法。

    实现

    找度娘帮忙,找到了一个INSERT... ON DUPLICATE KEY UPDATE语法,大概的意思就是前提要设置一个unique key,唯一识别的字段,我这里面对应的是store_id和goods_id联合唯一识别。设置方法很简单,不知道的百度一下。然后就是执行插入操作了。语句如下:

    insert into test
    (a,b,c)
    VALUES
    (1,1,3),
    (1,2,4),
    (2,1,5)
    ON DUPLICATE KEY UPDATE c=c+VALUES(c)
    

    随便建立个test表,目标是a和b字段联合唯一,如果存在则将c的值叠加,如果不存在则新建一条。简单验证了一下没啥问题。

    总结

    记录一下,如果用得上的可以参考下

    相关文章

      网友评论

          本文标题:mysql数据库插入信息 如果存在则修改某些值

          本文链接:https://www.haomeiwen.com/subject/wifyoqtx.html