티스토리 뷰

node.js에서 다중 쿼리문 실행 시 주의해야 할 점을 적어볼까한다.

이유는 내가 가끔 똑같은 실수를 반복하기 때문이다....ㅠ_^


사용할 공통 예시 코드

 // 다중 쿼리 1
    쿼리1 = "INSERT INTO board(cid, pcode, category, rating, title, content) VALUES(?, ?, ?, ?, ?, ?); ";
    데이터1 = [req.body.cid , req.body.pcode ,req.body.category ,req.body.rating ,req.body.title ,req.body.content];

    let query1 = db.format(sqlQuery, data);
    
// 다중 쿼리 2
    let 쿼리2 = "UPDATE orderDetail SET addreview = ? WHERE ocode = ? AND pcode = ? AND cid = ?;"
    let 데이터2 = ['1', req.body.ocode, req.body.pcode, req.body.cid]

    let query2 = db.format(sqlQuery2, data2);

// sql 실행 (db는 mysql connection 파일을 import해온 것)
    sql = db.query(query1 + query2, (err, row) => {
    	//여기 아래 result는 제가 결과 출력하려고 만든 함수입니다.	
	result((row[0].affectedRows + row[1].affectedRows));
    });

 


1. query문 내에 ; 세미콜론 생략

 

qeury1 에는 쿼리1의 내용에 데이터가 ?에 채워져있는 String이 반환된다.

콘솔에 query1을 찍어보면 이렇게 결과가 나온다.

query1 : INSERT INTO board(cid, pcode, category, rating, title, content) VALUES('1', '0001', '후기', 5, '제목 입력', '내용 입력함') ;

 

query2도 동일하다.

query2 : UPDATE orderDetail SET addreview = '1' WHERE ocode = '202105101-0017' AND pcode = '0001' AND cid = '1';

 

그럼 sql을 query()함수를 실행할 때 query1 + query2를 해주는데 어떤 결과가 나올까?

query1 + query2 : INSERT INTO board(cid, pcode, category, rating, title, content) VALUES('1', '0001', '후기', 5, '제목 입력', '내용 입 력함') ;UPDATE orderDetail SET addreview = '1' WHERE ocode = '202105101-0017' AND pcode = '0001' AND cid = '1';

 

이렇게  query1 + query2 는 두 String이 그저 합쳐져서 실행된다.

이때 query1 과 2 사이에 ; 세미콜론이 없다면??

INSERT INTO board(cid, pcode, category, rating, title, content) VALUES('1', '0001', '후기', 5, '제목 입력', '내용 입력함') UPDATE orderDetail SET addreview = '1' WHERE ocode = '202105101-0017' AND pcode = '0001' AND cid = '1';

맨 끝의 쿼리문에 ;세미콜론이 없다면 node mySQL이 알아서 처리해주겠지만

이렇게 두 문장 이상을 구분해야될 때 ; 가 없다면 저 문장을 한문장으로 처리할 것이다...

꼭 query문 내에 ; 세미콜론을 추가해서 구분해주도록하자.


2. 뭐 적으려고했는데 까먹음...생각나면 추가할게여 (;´д`)ゞ

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함