如何在node express js上动态更新mysql中的行

2022-02-24 00:00:00 node.js express mariadb mysql

我查询以更新行的方式是这样的,它是这样工作的:

const [rows, meta] = await db.query(
        `
        UPDATE
            Portfolio
        SET
            title = ?,
            infoText = ?,
            devPeriod = ?,
            tags = ?
        WHERE
            id = ?
        `,
        [title, infoText, Number(devPeriod), tags, Number(portfolioId)]
    );
    return rows;
但有时根据用户的需要,我必须查询以仅更新特定的列。例如,用户可能只想编辑devPeriod或标签和infoText。 我如何实现这一点?


解决方案

向我的同事寻求帮助后,他们将我的介绍给了Knex.js,以简化动态查询构建。所以我就顺其自然了。 从那时起,它就一直用于动态查询。对于这种类型的任务非常有效。配置也很简单:

import knex from 'knex';

const queryBuilder = knex({ client: 'mysql' });

export default queryBuilder;

将其导出并在项目中的任何位置使用

相关文章