如何在node express js上动态更新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;
将其导出并在项目中的任何位置使用
相关文章