Node更新多条mysql_求node.js中mysql商品sku批量更新解决方案

前提:不使用循环

1、sku具备添加、删除、修改功能,绑定数据sku

87148bd9f22454af9a785c18d27cd27e.png

sku:[

{

goods_id: "1MJlrjS17jQ",

id: 103,

inventory: "10",

price: 588,

sku_id: "15617774918",

sku_name: "黑色",

state: 1

},

{

goods_id: "1MJlrjS17jQ",

id: 104,

inventory: "10",

price: 588,

sku_id: "15617775015",

sku_name: "红色",

state: 1

}

]

2、使用replace into必须根据唯一主键判断,数据库的唯一主键是id,但是编辑状态添加的sku是没有id的(已有的sku id是从数据库读出来的)

let skudata=[

["1MJlrjS17jQ",103,"10",588,"15617774918","黑色",state: 1],

["1MJlrjS17jQ",104,"10",588,"15617775015","红色",state: 1]

let sql = "replace into test(goods_id,id,inventory,price,sku_id,sku_name,state) values ?";

conn.query(sql,skudata, function (err, result) {

});

3、本来用insert into …on duplicate key update是最好选择,但是在node.js里好像行不通,insert后面的问号可以用数组表示多条记录,update后面好像不能用数组

let sql = "insert into test(goods_id,id,inventory,price,sku_id,sku_name,state) values ? on duplicate key update name= ?";

4、最后一个方案就是根据goods_id查出所有sku然后删除,然后把新的添加进去,所有方法都不理想有没有更好的方法可以解决这个问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值