koa+mysql,已实现批量删除,请问如何实现批量更新,批量插入,

发布于 2022-09-07 19:38:31 字数 2300 浏览 12 评论 0

问题描述

koa+mysql,如何实现批量更新,批量插入,

已实现的批量删除

clipboard.png

sql

// 根据id单个删除
let cartDelectById = (id) => {
        let sql = `delete from cart where cart_id = ${id};`
        return query(sql)
    }
    // 根据id多个删除
let cartDelectByIds = (ids) => {
    let sql = `delete from cart where cart_id in (${ids});`
    return query(sql)
}

koa

// 单个删除
const cartDelectById = async(ctx) => {
        let id = 1;
        await cartModel.cartDelectById([id])
            .then(result => {
                ctx.body = {
                    state: 200,
                    msg: "删除购物车成功",
                    data: result
                }
            })
            .catch(error => {
                console.log(error);
                ctx.body = false;
            })
    }
// 多个删除
const cartDelectByIds = async(ctx) => {
    let ids = [1, 2, 3];
    await cartModel.cartDelectByIds(ids)
        .then(result => {
            ctx.body = {
                state: 200,
                msg: "删除购物车成功",
                data: result
            }
        })
        .catch(error => {
            console.log(error);
            ctx.body = false;
        })
}

单条sql成功插入和更新,请问如何实现批量更新,批量插入

// 插入
let cartInsertInto = (values) => {
    let sql = `insert into cart values(default,?,?,?,?,?);`
    return query(sql, values)
}
// 更新
let cartUpdate = (values) => {
    let sql = `update cart set user_id=?,goods_id=?,cart_goods_number=? where cart_id=?;`
    return query(sql)
}

插入

const cartInsertInto = async(ctx) => {
    console.log(ctx.request.body)
    let goodsId = ctx.request.body.goodsId;
    let cartGoodsNumber = ctx.request.body.goodsNumber;
    let userId = ctx.request.body.userId;
    await cartModel.cartInsertInto([userId, goodsId, cartGoodsNumber, new Date(), new Date()])
        .then(result => {
            ctx.body = {
                state: 200,
                msg: "插入购物车成功",
                data: result
            }
        })
        .catch(error => {
            console.log(error);
            ctx.body = false;
        })
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

许一世地老天荒 2022-09-14 19:38:32
let cartDelectById = (id) => {
    const sql = `delete from cart where cart_id in (${id.join(',')});`
    return query(sql)
}

这个函数改传入数组即可。
注意:建议你的SQL加上SQL预处理机制防止SQL注入

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文