Programing Language/Database

Node.js) Mariadb에서 Multi insert문 사용하기

Jude_Song 2022. 8. 22. 16:33
728x90
반응형
//** scheduleList 모양은 [ [], [], [], ... ]

let bindVariables = '';

let queryArray = [];

queryArray = scheduleList.flat(); // 한번 flat 하게 만들어주어야 함

scheduleList.forEach((item, index) => {

    if (scheduleList.length === (index + 1)) {

        bindVariables += `(?, ?, ?, '-')`;

    } else {

        bindVariables += `(?, ?, ?, '-'),`; // insert into table (a, b, c, d) 입력하려는 컬럼 수와 같아야 함

    }

})

const connection = await pool.getConnection();

const queryString = 

    `INSERT INTO SCHEDULE 

        (FOLDER_ID, DAYS, PLACE_ID, SCHEDULE_NEXT) 

    VALUES 

        ${bindVariables}`;

console.log(queryString);

let result = await connection.query(queryString, [...queryArray]); // 전개연산자로 풀어서 넣어주어야 함

 

query문을 배열로 넣을때는 2차원 배열이 아닌 1차원 배열로 넣어야한다.

그래서 위에 보면 2차원 배열에 flat()이란 함수를 사용한것을 알수 있다

 

좀더 상세한 설명은 다음 url을 확인 바란다.

https://www.omnibuscode.com/board/board_nodejs/50126

 

OMNIBUSCODE [Node.js] - Node.js 에서 Bulk INSERT 를 하는 방법 (multi insert)

//** scheduleList 모양은 [ [], [], [], ... ] let bindVariables = ''; let queryArray = []; queryArray = scheduleList.flat(); // 한번 flat 하게 만들어주어야 함 scheduleList.forEach((item, index) => { if (scheduleList.length === (index + 1)) { b

www.omnibuscode.com

 

728x90
반응형