250x250
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- anydo
- debounce
- npm moment
- todoist
- IOT
- 가스비절약
- Raspberry Pi
- rasppi3
- 에버노트
- 나비엔
- ReactNative
- 경동
- REACT
- EditText
- 가스요금폭탄
- 온도조절기
- xcode11
- nodejs
- 네모안
- react-native
- 린나이온도조절기
- Node
- Swipes
- 난방비절약
- evernote
- __attribute__
- node.js
- 라온익스
- 온도센서
- 기름보일러
Archives
- Today
- Total
어허
NodeJS mysql, query WHERE 에 array 넣어 검색하기 본문
728x90
NodeJS 에서 mysql 모듈을 이용할때 WHERE 에 string으로 된. 배열을 넣고싶다
기본적인 쿼리는
SELECT * FROM 'table' WHERE 'id' in (1, 2, 3)
이렇게 하면 되고
코드로는
const db = require('../../database');
let fs = require('fs');
let listArray = [
"111@abc.co.kr",
"222@abc.co.kr",
"333@abc.co.kr"
];
/* string으로 변환 */
for (var i in listArray) {
listArray[i] = JSON.stringify(listArray[i]);
}
var sql = "\n";
sql += "SELECT * \n";
sql += " FROM DEVICE \n";
sql += " WHERE JID IN (";
sql += listArray.join();
sql += ")";
let exec = db.connection.query(sql, function (err, data) {
if (err) throw err;
});
위의 stringify 로 스트링 변환을 따로 해주지 않으면 쿼리에
WHERE JID IN (111@abc.co.kr, 222@abc.co.kr, 333@abc.co.kr)
이렇게 들어가서 에러발생
스트링 치환을 해 주어야
WHERE JID IN ("111@abc.co.kr", "222@abc.co.kr", "333@abc.co.kr")
이렇게 예쁘게 잘 들어가짐.
728x90
'개발 > Node.JS' 카테고리의 다른 글
nodejs error, uncaughtException (0) | 2018.01.10 |
---|---|
MySQL의 TIMESTAMP를 Node.JS에서 핸들링하기 (0) | 2017.03.30 |
Node.js forever 로그 저장하지 않는 방법 (0) | 2016.12.26 |
Comments