nodejs,根据前端字段生成mysql更新代码

使用场景:

当前端修改数据提交,完整的对象字段时,因为要检测id是否重复了,或者名称是否重复时,mysql的UPDATE就不能写死,以下为动态根据前端提交的对象更新UPDATE代码


async function checkAndDeleteIfExists(formData, field, propName) {
// 删除重复的字段
    const exists = await checkDataExists('image_hosting', field, formData[propName]); //这一段是我自己封装的查询数据是否存在,使用时请自己封装一个
    if (exists) {
        delete formData[propName]; //如果存在就删除formData里的字段
    }
}
async function ImagesHosting_edit(req, res) {
    const formData = req.body;
    const formDataID = formData.ID
  
    await checkAndDeleteIfExists(formData, 'ID', 'ID');//检测id是否重复,重复删除

//根据formData 生成UPDATE
    const setClause = Object.keys(formData).map(key => `${key} = ?`).join(', ');
    const values = Object.values(formData);

    // 构建 WHERE 子句
    const whereClause = `ID = ?`;
    values.push(formDataID);

    const query = `
        UPDATE
            image_hosting
        SET
            ${setClause}
        WHERE
            ${whereClause};
    `;
    console.log(query); //查看UPDATE是否生成正确
console.log(values);//查看更新的数据是否values生成正确

    return res.status(200).json({ message: 'ImagesHosting_edit测试成功', status: true });
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇