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();
});