NodeJS / MySQL은 쿼리에서 변수로 결과를 반환합니다.

user5797064

저는 NodeJS를 사용하여 다 대다 관계가있는 테이블에 데이터를 삽입하고 테이블에 데이터를 삽입 할 때 두 개의 외래 키를 포함하고 싶습니다.

con.query("SELECT * FROM Transaction WHERE TransactionID > 1", function(err, res) {
    if (err) {
      throw (err);
    } else if (res.length > 0) {
      console.log("Transaction already exit");
    } else {
      var transactionID;
      var filePK;
con.query("SELECT Filename FROM File WHERE Filename = ?", fileName, function(err, res) {
      if (err) throw err;
      filePK = JSON.stringify(res);
});
con.query("SELECT TransactionDescriptionPK FROM TransactionDescription WHERE TransactionDescriptionPK > 0", function(err, res) {
      if (err) throw err;
      //console.log(res);
      transactionID = res;
});
var tran = {
    TransactionID: data.ID,
    TransactionDate: data.Description,
    Amount: data.Amount

};
con.query("INSERT INTO Transaction SET ?", tran, function(err, res) {
    if (err) throw err;
});       

tran 개체에 추가 할 수 있도록 이러한 쿼리의 결과를 반환하는 방법은 무엇입니까?

제롬

async.parallel 을 사용할 수 있습니다.

async.parallel([
  function(callback) {
    // you can directly pass the parallel callback to mysql query
    // if you don't need to do anything else
    return con.query(
      "SELECT * FROM Transaction WHERE TransactionID > 1",
      callback
    );
  },
  function(callback) {
    // otherwise, just do you what you want (here JSON.stringify)
    // then don't forget to return the parallel callback
    return con.query(
      "SELECT Filename FROM File WHERE Filename = ?", 
      fileName,
      function(err, res) {
        if (err)
          return callback(err);
        const filePK = JSON.stringify(res);
        return callback(null, filePK);
      }
    );
  },
  function(callback) {
    return con.query(
      "SELECT TransactionDescriptionPK FROM TransactionDescription WHERE TransactionDescriptionPK > 0",
      callback
    );
  },
], function(err, data) {
  // if any mysql queries above encounter an error,
  // it calls the parallel final callback and stops other functions

  // without errors, data looks like :
  // data[0] equals mysql result object of the first query
  // data[1] equals filePK const
  // data[2] equals mysql result object of the last query

  const tran = {
    TransactionID: data[0][0].ID,
    TransactionDate: data[0][0].Description,
    // Amount: data.Amount // don't know where the amount come from,
                           // but you get the idea
  };
  con.query(
    "INSERT INTO Transaction SET ?",
    tran,
    function(err, res) {
      if (err)
        throw err;
      // ...
    }
  );
});

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

MySQL은 논리 OR로 다른 쿼리에서 선택 쿼리 결과를 사용합니다.

분류에서Dev

Codeigniter는 mysql 쿼리 결과를 단일 배열로 반환합니다.

분류에서Dev

TaffyDB 쿼리에서 JS 변수를 사용하면 정의되지 않은 결과가 반환됩니다.

분류에서Dev

nodejs의 mongodb에서 반환 된 결과를 반복합니다.

분류에서Dev

SQL은 모든 사용자에 대한 결과를 반환하도록 쿼리를 변경합니다.

분류에서Dev

mysql 다중 테이블 쿼리는보기로 보내기 전에 정렬 결과를 반환합니다.

분류에서Dev

하위 쿼리에서 mysql 쿼리를 만드는 방법은 2 개의 결과를 1 개의 결과로 결합합니다.

분류에서Dev

하위 쿼리에서 mysql 쿼리를 만드는 방법은 2 개의 결과를 1 개의 결과로 결합합니다.

분류에서Dev

인코딩 된 입력 매개 변수가있는 SQL 쿼리가 MySQL에서 빈 결과를 반환합니다.

분류에서Dev

MySQL은 select * where varchar = ""쿼리에서 결과를 반환하지 않습니다.

분류에서Dev

MPI 수집은 잘못된 순서로 결과를 반환합니다.

분류에서Dev

쿼리에서 linq 결과를 반환 할 수 없습니다.

분류에서Dev

NodeJs Mysql이 빈 결과를 반환합니다.

분류에서Dev

mysql 쿼리는 저장된 값과 실제 숫자로 계산할 때 다른 결과를 반환합니다.

분류에서Dev

PHP에서 mysql 쿼리로 0 개의 결과가 반환되었습니다.

분류에서Dev

Nodejs의 루프에서 MySQL 쿼리 결과를 추가하는 방법은 무엇입니까?

분류에서Dev

Solr은 각 문자 변경에 대해 다른 결과를 반환합니다.

분류에서Dev

MySql : 동일한 select count (*) 쿼리가 함수 내부 또는 외부에서 호출되면 다른 결과를 반환합니다.

분류에서Dev

MYSQL에서 쿼리 결과를 다른 값으로 변경하는 방법은 무엇입니까?

분류에서Dev

MySQL 쿼리가 추가 결과를 반환합니다.

분류에서Dev

MySQL SELECT 쿼리가 잘못된 결과를 반환합니다.

분류에서Dev

숫자로 시작하는 문자열은 쿼리 후 다른 결과를 반환합니다.

분류에서Dev

nodejs : mysql이 연결 쿼리 콜백 내에서 전역 변수에 액세스 할 수 없습니다.

분류에서Dev

MYSQL은 함수에서 행 수를 반환합니다.

분류에서Dev

MySQL은 조건이 충족되면 쿼리를 반복하지 않고 쿼리 결과를 반환합니다.

분류에서Dev

MySQL의 경우 IN 절은 서로 다른 결과를 반환

분류에서Dev

Amazon Athena의 쿼리에서 반환 된 결과를 기반으로 알림을 생성해야합니다.

분류에서Dev

Windows 환경에서 MySQL 쿼리 결과를 csv 형식으로 출력하는 방법은 무엇입니까?

분류에서Dev

쿼리 결과를 mysql의 변수에 저장 한 다음 다른 쿼리와 에코 결과를 사용하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    MySQL은 논리 OR로 다른 쿼리에서 선택 쿼리 결과를 사용합니다.

  2. 2

    Codeigniter는 mysql 쿼리 결과를 단일 배열로 반환합니다.

  3. 3

    TaffyDB 쿼리에서 JS 변수를 사용하면 정의되지 않은 결과가 반환됩니다.

  4. 4

    nodejs의 mongodb에서 반환 된 결과를 반복합니다.

  5. 5

    SQL은 모든 사용자에 대한 결과를 반환하도록 쿼리를 변경합니다.

  6. 6

    mysql 다중 테이블 쿼리는보기로 보내기 전에 정렬 결과를 반환합니다.

  7. 7

    하위 쿼리에서 mysql 쿼리를 만드는 방법은 2 개의 결과를 1 개의 결과로 결합합니다.

  8. 8

    하위 쿼리에서 mysql 쿼리를 만드는 방법은 2 개의 결과를 1 개의 결과로 결합합니다.

  9. 9

    인코딩 된 입력 매개 변수가있는 SQL 쿼리가 MySQL에서 빈 결과를 반환합니다.

  10. 10

    MySQL은 select * where varchar = ""쿼리에서 결과를 반환하지 않습니다.

  11. 11

    MPI 수집은 잘못된 순서로 결과를 반환합니다.

  12. 12

    쿼리에서 linq 결과를 반환 할 수 없습니다.

  13. 13

    NodeJs Mysql이 빈 결과를 반환합니다.

  14. 14

    mysql 쿼리는 저장된 값과 실제 숫자로 계산할 때 다른 결과를 반환합니다.

  15. 15

    PHP에서 mysql 쿼리로 0 개의 결과가 반환되었습니다.

  16. 16

    Nodejs의 루프에서 MySQL 쿼리 결과를 추가하는 방법은 무엇입니까?

  17. 17

    Solr은 각 문자 변경에 대해 다른 결과를 반환합니다.

  18. 18

    MySql : 동일한 select count (*) 쿼리가 함수 내부 또는 외부에서 호출되면 다른 결과를 반환합니다.

  19. 19

    MYSQL에서 쿼리 결과를 다른 값으로 변경하는 방법은 무엇입니까?

  20. 20

    MySQL 쿼리가 추가 결과를 반환합니다.

  21. 21

    MySQL SELECT 쿼리가 잘못된 결과를 반환합니다.

  22. 22

    숫자로 시작하는 문자열은 쿼리 후 다른 결과를 반환합니다.

  23. 23

    nodejs : mysql이 연결 쿼리 콜백 내에서 전역 변수에 액세스 할 수 없습니다.

  24. 24

    MYSQL은 함수에서 행 수를 반환합니다.

  25. 25

    MySQL은 조건이 충족되면 쿼리를 반복하지 않고 쿼리 결과를 반환합니다.

  26. 26

    MySQL의 경우 IN 절은 서로 다른 결과를 반환

  27. 27

    Amazon Athena의 쿼리에서 반환 된 결과를 기반으로 알림을 생성해야합니다.

  28. 28

    Windows 환경에서 MySQL 쿼리 결과를 csv 형식으로 출력하는 방법은 무엇입니까?

  29. 29

    쿼리 결과를 mysql의 변수에 저장 한 다음 다른 쿼리와 에코 결과를 사용하는 방법은 무엇입니까?

뜨겁다태그

보관