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 });
}

评论

  1. Josiah2609
    Windows Chrome 120.0.0.0
    1周前
    2024-2-15 19:09:52

    Элвис Пресли, безусловно, один из наиболее влиятельных музыкантов в истории. Родившийся в 1935 году, он стал иконой рок-н-ролла благодаря своему харизматичному стилю и неповторимому голосу. Его лучшие песни, такие как “Can’t Help Falling in Love”, “Suspicious Minds” и “Jailhouse Rock”, стали классикой жанра и продолжают восхищать поклонников по всему миру. Пресли также известен своими выдающимися выступлениями и актёрским талантом, что сделало его легендой не только в музыке, но и в кинематографе. Его наследие остается живым и вдохновляет новые поколения артистов. Скачать музыку 2024 года и слушать онлайн бесплатно mp3.

  2. Keegan3497
    Windows Chrome 120.0.0.0
    3天前
    2024-2-23 1:02:09

发送评论 编辑评论


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