Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

201
Visualizações
Error de JavaScript MySQL al insertar declaraciones preparadas a granel

Tengo un problema. Estoy tratando de insertar unos cientos de objetos en mi base de datos usando declaraciones masivas preparadas. La tabla en la que estoy tratando de insertar es la siguiente: ingrese la descripción de la imagen aquí

Entonces tengo el siguiente código:

 static save() { data = [[1, '', '', 0, 0, 0, 0, 0], [2, '', '', 0, 0, 0, 0, 0], [3, '', '', 0, 0, 0, 0, 0], [4, '', '', 0, 0, 0, 0, 0]]; let sql = "INSERT INTO Candlestick (openTime, market, `interval`, open, high, low, close, volume) VALUES (?, ?, ?, ?, ?, ?, ?, ?);"; return db.execute(sql, [data]); }

Pero esto da como resultado el siguiente resultado:

 Error: Incorrect arguments to mysqld_stmt_execute at PromisePool.execute (C:\Users\Alexander\Projects\API\node_modules\mysql2\promise.js:359:22) at Function.save (C:\Users\Alexander\Projects\API\src\api\v1\models\Candlestick.js:18:19) at C:\Users\Alexander\Projects\API\src\api\v1\controllers\candlestickController.js:28:29 at processTicksAndRejections (node:internal/process/task_queues:96:5) { code: 'ER_WRONG_ARGUMENTS', errno: 1210, sql: 'INSERT INTO Candlestick (openTime, market, `interval`, open, high, low, close, volume) VALUES (?, ?, ?, ?, ?, ?, ?, ?);',

Cuando copio la consulta y establezco manualmente las variables en:

 INSERT INTO Candlestick (openTime, market, `interval`, open, high, low, close, volume) VALUES (1, '', '', 0, 0, 0, 0, 0);

La consulta se ejecuta en phpmyadmin: ingrese la descripción de la imagen aquí

Alguien me puede decir que me falta...

Estoy usando:
mysql2 - ^2.3.3
mariadb - 10.3.34

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Para solucionar este problema, tuve que cambiar la consulta de:

 let sql = "INSERT INTO Candlestick (openTime, market, `interval`, open, high, low, close, volume) VALUES (?, ?, ?, ?, ?, ?, ?, ?);";

a:

 let sql = "INSERT INTO Candlestick (openTime, market, `interval`, open, high, low, close, volume) VALUES ?;";

Porque cada entrada en los [datos] representa: (1, '', '', 0, 0, 0, 0, 0) Para que se complete cada vez. También cambié db.execute a db.query , por lo que las consultas se prepararán en el lado del cliente. La ventaja de eso es que puede ver el resultado de la consulta preparada en la consola, cuando la consulta sale mal.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda