sitelink1 | https://blog.naver.com/n_jihyeon/222084769999 |
---|---|
sitelink2 | |
sitelink3 | |
extra_vars4 | |
extra_vars5 | |
extra_vars6 |
//** scheduleList 모양은 [ [], [], [], ... ]
let bindVariables = '';
let queryArray = [];
queryArray = scheduleList.flat(); // 한번 flat 하게 만들어주어야 함
scheduleList.forEach((item, index) => {
if (scheduleList.length === (index + 1)) {
bindVariables += `(?, ?, ?, '-')`;
} else {
bindVariables += `(?, ?, ?, '-'),`; // 입력하려는 컬럼 수와 같아야 함
}
})
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]); // 전개연산자로 풀어서 넣어주어야 함
* 체크포인트
- 실행하려는 SQL문
INSERT INTO SCHEDULE (FOLDER_ID , DAYS, PLACE_ID , SCHEDULE_NEXT)
VALUES
('447e5d70', '1', '3d5af52f', '-'),
('447e5d70', '2', '3d5af52f', '-'),
('447e5d70', '3', '3d5af52f', '-'),
('447e5d70', '4', '3d5af52f', '-'),
('447e5d70', '5', '3d5af52f', '-');
- sql bulk insert 에 대한 script code는 2차원 배열이다
>> Nested arrays are turned into grouped lists (for bulk inserts), e.g. [['a', 'b'], ['c', 'd']] turns into ('a', 'b'), ('c', 'd')
- 2차원 배열 방식으로 다음과 같은 Node.js 코드를 작성할 수 있다
var mysql = require('mysql');
var conn = mysql.createConnection({
...
});
var sql = "INSERT INTO Test (name, email, n) VALUES ?";
var values = [
['demian', 'demian@gmail.com', 1],
['john', 'john@gmail.com', 2],
['mark', 'mark@gmail.com', 3],
['pete', 'pete@gmail.com', 4]
];
conn.query(sql, [values], function (err) {
if (err)
throw err;
conn.end();
});
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
» | Node.js 에서 Bulk INSERT 를 하는 방법 (multi insert) | 황제낙엽 | 2021.02.02 | 969 |
12 | mysql, mysql2 모듈 버전 비교 | 황제낙엽 | 2021.01.31 | 333 |
11 |
ORM 툴 Sequelize
![]() | 황제낙엽 | 2021.01.27 | 80 |
10 |
[connection과 pool-05] pool 생성이 너무 많은 경우의 database에서의 에러 - Too many connections
![]() | 황제낙엽 | 2021.01.27 | 127 |
9 | [connection과 pool-03] mysql.createPool 과 connection.query | 황제낙엽 | 2021.01.27 | 593 |
8 | [connection과 pool-02] mysql.createPool 과 pool.query | 황제낙엽 | 2021.01.27 | 113 |
7 | [connection과 pool-01] mysql.createConnection 과 connection.query | 황제낙엽 | 2021.01.27 | 107 |
6 | [T아카데미/Node.js 프로그래밍/MySQL] createPool, getConnection 의 간단한 예제 (강의 예제) | 황제낙엽 | 2021.01.27 | 106 |
5 | 여러 개의 데이터 베이스 연결을 동시에 관리하는 PoolCluster | 황제낙엽 | 2021.01.16 | 2374 |
4 | connetion pooling 과 connection leak | 황제낙엽 | 2021.01.16 | 96 |
3 | no pooling 상태에서 beginTransaction 콜백을 이용한 Transaction 처리 | 황제낙엽 | 2021.01.16 | 77 |
2 | mysql.escape()로 where 문 작성 | 황제낙엽 | 2021.01.16 | 100 |
1 | mysql basic (mysql 설치, 접속, 조회) | 황제낙엽 | 2021.01.12 | 165 |