代码之家  ›  专栏  ›  技术社区  ›  adherb

如何在MSQL中批量插入

  •  0
  • adherb  · 技术社区  · 1 年前

    我正在尝试使用MYSQL进行批量插入。

    这是我的代码:

      const values = workouts.map((workout) => [
            nanoid(),
            programEnrollmentId,
            workout.workout_id,
            userId, 
          ]);
    
          await RDS.query(
            `
            INSERT INTO user_workouts (nano_id, program_enrolment_id, workout_id, user_id)
            VALUES ?
            `,
            [values]
          );
    

    出于某种原因,我遇到了这个错误: ERROR MESSAGE: Named parameter name is empty

    当我在值中添加额外的方括号时,就像这样 [[values]] 我得到这个错误: ERROR MESSAGE: Unexpected key '0' found in params.parameterSets[0][0]

    0 回复  |  直到 1 年前
        1
  •  0
  •   CharybdeBE    1 年前

    根据包装文件,指出该文件 https://github.com/mysqljs/mysql#performing-queries

      const values = workouts.map((workout) => [
            nanoid(),
            programEnrollmentId,
            workout.workout_id,
            userId, 
          ]);
    
      await RDS.query(
            `
            INSERT INTO user_workouts (nano_id, program_enrolment_id, workout_id, user_id)
            VALUES ?
            `,
            values
          );
    

    您不需要括号,因为变量值已经是数组的数组