반응형
이전 예를 사용하십니까?
을 사용하여 mysql 테이블을 어떻게 삽입 / 업데이트 할 수 있습니까?
테이블 열 헤더의 이름을 수동으로 지정하지 않고 JSON 개체를 사용합니까? 그리고 비동기를 보장합니다.
var mysql = require('node-mysql');
var conn = mysql.createConnection({
...
});
var values = [
{name:'demian', email: 'demian@gmail.com', ID: 1},
{name:'john' , email: 'john@gmail.com' , ID: 2},
{name:'mark' , email: 'mark@gmail.com' , ID: 3},
{name:'pete ' , email: 'pete@gmail.com' , ID: 4}
];
// var sql = "INSERT INTO Test (name, email, n) VALUES ?";
conn.query(sql, [values], function(err) {
if (err) throw err;
conn.end();
})
해결 방법
다음과 같이 할 수 있습니다.
for(var i = 0; i < values.length; i++){
var post = values[i]
var query = connection.query('INSERT INTO posts SET ?', post, function(err, result) {
// Finish
});
}
한 번에 여러 개의 '게시물'을 삽입하는 방법입니다.
INSERT INTO posts (type, details)
VALUES
('Helen', 24),
('Katrina', 21),
이와 같은 이름을 얻으려면 첫 번째 값을 반복해야합니다.
var names = [];
for(name in values[0]){
names.push(name);
// That would give you name, email, id
}
그런 다음 삽입 할 고유 한 문자열을 만들어야합니다.
var newvalues = [];
for(var i = 0; i < values.length; i++){
newvalues.push('(' + values[i].join(',') + ')');
}
그런 다음 쿼리를 실행하려면 :
connection.query('INSERT INTO posts (' + names.join(',') + ') VALUES ' + newvalues.join(',') , function(err, rows, fields) {
// Result
});
코드를 직접 테스트해야합니다. 이것이 바로 여러분이하는 방법입니다.
참조 페이지 https://stackoverflow.com/questions/15367477
반응형
'MySql' 카테고리의 다른 글
MySQL 조인 된 테이블이있는 행 수 선택 (0) | 2021.01.09 |
---|---|
MySQL : 열 값이 특정 하위 문자열로 끝나는 행 찾기 (0) | 2021.01.09 |
MySQL md5 형식으로 데이터베이스에 암호를 삽입 하시겠습니까? (0) | 2021.01.09 |
MySQL SELECT INTO 동등? (0) | 2021.01.09 |
MySQL Last Updated row ID in Mysql (0) | 2021.01.09 |
댓글