728x90
반응형
다중 쿼리를 사용할 때
MySQL 모듈을 사용할때 connection은 비동기적으로 발생하기 때문에
여러번의 connection 호출을 통해 클라이언트에게 데이터를 전달해 줄수 없다.
connection은 한번만 호출되어 res.json 등을 통해 클라이언트에게 데이터를 전달해주는데
때문에, 이와같은 상황에서는 다중 쿼리를 사용해야한다.
1 2 3 4 5 6 7 8 9 | var connection = mysql.createConnection({ host: loginData.host, port: 3306, user: loginData.user, password: loginData.password, database: 'example', multipleStatements: true }) connection.connect(); | cs |
다중 쿼리에서 가장 중요한것은 초기 설정이다.
createConnection에서는 데이터베이스를 사용하기 위한 초기 설정들을 객체로써 입력받는데
이때 multipleStatements를 ture로 해주어야 다중 쿼리를 사용할 수 있다.
1 2 3 4 5 6 7 | var query = 'select `email`,`id`,`img` from user where id="ma";' + 'select score from scoreboard where uid="ma" ORDER BY num DESC limit 5;' + 'select count(*) from scoreboard where score=125;'; connection.query(query, function(err,rows){ ... } | cs |
이후에 다음과 같이 다중 쿼리를 작성한 후
connection.query에 인자로 전달하면 rows에서 배열로 결과 값을 받을수 있다.
반응형
'개발' 카테고리의 다른 글
[Javascript] 비동기(asynchronous) 방식의 동작 원리 (2) | 2017.04.22 |
---|---|
[Web] modal pop-up 만들기 (7) | 2017.04.21 |
[SQL] Database 정보를 git에 올라가지 않게 하기 (0) | 2017.04.19 |
[NodeJS] Chart JS와 데이터 베이스 연결하기 - 2 (4) | 2017.04.19 |
[NodeJS] Chart JS와 데이터 베이스 연결하기 - 1 (6) | 2017.04.19 |
댓글