반응형
대량으로 준비된 문을 삽입하는 동안 JavaScript MySQL 오류가 발생했습니다.
문제가 있어요.준비된 대량 명령문을 사용하여 데이터베이스에 수백 개의 개체를 삽입하려고 합니다.삽입하려는 표는 다음과 같습니다.
그러면 다음 코드가 있습니다.
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]);
}
그러나 이 결과 다음과 같은 출력이 출력됩니다.
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 (?, ?, ?, ?, ?, ?, ?, ?);',
쿼리를 복사하고 변수를 수동으로 설정하면 다음과 같습니다.
INSERT INTO Candlestick (openTime, market, `interval`, open, high, low, close, volume) VALUES (1, '', '', 0, 0, 0, 0, 0);
쿼리는 phpmyadmin에서 실행되지 않습니다.
누가 내가 뭘 놓쳤는지 말해줄래요?
사용 중:
mysql2 - ^2.3.3
mariadb - 10.3.34
이 문제를 해결하려면 다음에서 쿼리를 변경해야 했습니다.
let sql = "INSERT INTO Candlestick (openTime, market, `interval`, open, high, low, close, volume) VALUES (?, ?, ?, ?, ?, ?, ?, ?);";
대상:
let sql = "INSERT INTO Candlestick (openTime, market, `interval`, open, high, low, close, volume) VALUES ?;";
[데이터]의 모든 항목은 다음을 나타내기 때문입니다.(1, '', '', 0, 0, 0, 0, 0)그래서 그 내용물은 매번 채워집니다.또한 나는 그것을 바꿨습니다.db.execute로.db.query클라이언트 측에서 쿼리를 준비할 수 있습니다.이 기능의 장점은 쿼리가 잘못되었을 때 콘솔에서 준비된 쿼리 결과를 볼 수 있다는 것입니다.
언급URL : https://stackoverflow.com/questions/71666134/javascript-mysql-error-while-inserting-bulk-prepared-statements
반응형
'programing' 카테고리의 다른 글
| Oracle DATE 열에 저장된 잘못된(손상된) 값을 식별하는 방법 (0) | 2023.08.05 |
|---|---|
| SQL Server 구성 관리자 오류: WMI 제공자에 연결할 수 없습니다. (0) | 2023.08.05 |
| ES6 클래스 인스턴스의 클래스 이름을 가져옵니다. (0) | 2023.08.05 |
| C++의 std:: 문자열로 전체 파일을 읽는 방법은 무엇입니까? (0) | 2023.08.05 |
| PowerShell에서 C# 코드 실행으로 개체 또는 여러 값을 반환하려면 어떻게 해야 합니까? (0) | 2023.07.31 |