Node.js는 MySQL에 데이터를 대량으로 주입합니다.

php中世界最好的语言
풀어 주다: 2018-04-17 14:15:19
원래의
1993명이 탐색했습니다.

이번에는 Node.jsMySQL에 대용량 데이터 주입하기 Node.js에서 MySQL에 대용량 데이터를 주입할 때 주의사항은 무엇인가요? 실제 사례를 살펴보겠습니다.

1. 데이터베이스 연결

var mysql = require('mysql');
// 数据库信息
var connection = mysql.createConnection({
 host  : 'localhost',
 user  : '数据库用户名',
 password : '数据库登录密码',
 database : '操作数据库名'
});
로그인 후 복사

데이터 삽입을 중첩된 배열

으로 변환 예를 들어, 삽입할 데이터 두 개:

기록 1:

from:"index" 
to:“www.alibaba.com”
status:1
is_new:0
로그인 후 복사

기록 2:

from:"index1"
to:"www.google.com"
status:1
is_new:0
로그인 후 복사

다음 형식으로 변환하세요:

var values = [
 ["index","www.alibaba.com",1,0],
 ["index1","www.google.com",1,0]
];
로그인 후 복사

삽입문 작성

var sql = "INSERT INTO url(`from`,`to`,`status`, `is_new`) VALUES ?";
로그인 후 복사

쿼리 함수를 호출하여 데이터 삽입을 완료

connection.query(sql, [values], function (err, rows, fields) {
 if(err){
    console.log('INSERT ERROR - ', err.message);
    return;
   }
   console.log("INSERT SUCCESS");
});
로그인 후 복사

전체 코드:

var mysql = require('mysql');
// 数据库信息
var connection = mysql.createConnection({
 host  : 'localhost',
 user  : '数据库用户名',
 password : '数据库登录密码',
 database : '操作数据库名'
});
var values = [
 ["index","www.alibaba.com",1,0],
 ["index1","www.google.com",1,0]
];
var sql = "INSERT INTO url(`from`,`to`,`status`, `is_new`) VALUES ?";
connection.query(sql, [values], function (err, rows, fields) {
 if(err){
    console.log('INSERT ERROR - ', err.message);
    return;
   }
   console.log("INSERT SUCCESS");
});
로그인 후 복사

동시에 거래 기반 작업이 여기에 기록됩니다(아직 실행되지 않았으며 구체적인 효과는 알 수 없음)

트랜잭션 루프를 사용하여 삽입하고 삽입이 실패하면 롤백

mysql 모듈,connection.beginTransaction은 트랜잭션

을 수행하는 것입니다. 그런 다음 들어오는 배열에 대해 주기적 삽입 또는 업데이트 작업을 수행하는 함수를 여기에 캡슐화했습니다. 한 항목이 실패하면 롤백하고 모든 것이 정확하면 이 기사의 사례를 읽으신 후 커밋하십시오. 더 흥미로운 내용이 있으니 PHP 중국어 웹사이트의 다른 관련 기사도 주목해 주세요!

추천 도서:

AngularJS 등록 양식 확인 단계에 대한 자세한 설명


clipboard.js 복사 기능 구현을 위한 자세한 단계


위 내용은 Node.js는 MySQL에 데이터를 대량으로 주입합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿