Mysql 用于更新具有相同文件名的记录的SQL查询

Mysql 用于更新具有相同文件名的记录的SQL查询,mysql,sql,node.js,sequelize.js,Mysql,Sql,Node.js,Sequelize.js,我想根据employeeId更新具有重复文件或相同文件名的文档记录的文件名。非常感谢。为了使其唯一,我想在更新时为文件名添加前缀 代码qquery SELECT id, filename, employeeId, COUNT(filename) FROM documents GROUP BY filename HAVING COUNT(filename) > 1; 结果 桌子 更新代码 const documents = await sequelizeClient.quer

我想根据employeeId更新具有重复文件或相同文件名的文档记录的文件名。非常感谢。为了使其唯一,我想在更新时为文件名添加前缀

代码qquery

SELECT id, filename, employeeId, COUNT(filename) FROM documents GROUP BY filename
      HAVING COUNT(filename) > 1;
结果

桌子

更新代码

const documents = await sequelizeClient.query(
        `SELECT id, filename, employeeId, COUNT(filename) FROM ${EmployeeDocumentsModel.tableName} GROUP BY filename
      HAVING COUNT(filename) > 1;`,
        { type: QueryTypes.SELECT },
      );

      const promises = [];
      // eslint-disable-next-line no-plusplus
      for (let i = 0; i < documents.length; i++) {
        const prefix = Date.now().toString();
        const fileParts = documents[i].filename.split('.');
        const finalname = `${fileParts[0]}-${prefix}.${fileParts[1]}`;
        promises.push(queryInterface.sequelize.query(`UPDATE documents SET filename='${finalname}' WHERE employeeID=${documents[i].employeeId};`));
      }
      await Promise.all(promises);

这真的和你之前的问题一样…@GMB还没有回答Sir@GMB,先生,你对这个有什么想法吗?这和你之前的问题是一样的…@GMB它还没有被回答Sir@GMB先生,你对这个有什么想法吗?