0
하나의 테이블에 27 개의 mysql 업데이트 쿼리가 있습니다. 이러한 모든 쿼리는 하나의 연산이 실패하여 다른 모든 업데이트 된 쿼리가 롤백되어야하는 것처럼 트랜잭션 모드에서 실행됩니다.약속을 사용하여 노드 j에서 다수의 MySQL 쿼리에 대한 트랜잭션 연산을 수행하는 방법은 무엇입니까?
이 nodejs를 어떻게 구현합니까?
하나의 테이블에 27 개의 mysql 업데이트 쿼리가 있습니다. 이러한 모든 쿼리는 하나의 연산이 실패하여 다른 모든 업데이트 된 쿼리가 롤백되어야하는 것처럼 트랜잭션 모드에서 실행됩니다.약속을 사용하여 노드 j에서 다수의 MySQL 쿼리에 대한 트랜잭션 연산을 수행하는 방법은 무엇입니까?
이 nodejs를 어떻게 구현합니까?
나는 mysql 드라이버가 here이라는 것을 사용한다고 가정합니다.
documentation에 따르면,이 드라이버는 기본적으로 (문서에서 복사)이 같은 트랜잭션을 지원합니다 : 당신이 약속을 언급 한 이후
connection.beginTransaction(function(err) {
if (err) { throw err; }
connection.query('INSERT INTO posts SET title=?', title, function (error, results, fields) {
if (error) {
return connection.rollback(function() {
throw error;
});
}
connection.query('INSERT INTO log SET data=?', log, function (error, results, fields) {
if (error) {
return connection.rollback(function() {
throw error;
});
}
connection.commit(function(err) {
if (err) {
return connection.rollback(function() {
throw err;
});
}
console.log('success!');
});
});
});
});
, 당신은 블루 버드 약속에서 MySQL의 호출을 래핑 promise-mysql 패키지를 사용하고자하는 것입니다.