DB에 없는 값을 주었으면 당연히 rowcount는 0으로 나와야 정상인데...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
def test():
value = request.form['SensorID']
esn_sql = "SELECT esnData FROM ESensorTable WHERE esnSensorId ='"+value+"'"
curs.execute(esn_sql) # 쿼리문 실행
row_result = curs.rowcount # 쿼리 실행후 가져운 값의 수(가져온 수가 0이라면 SensorID가 없다는 의미)
if row_result == 0:
return json.dumps({"value":"Fail"})
else:
data_list = curs.fetchall()
data= data_list[0]
return json.dumps(data[0])
curs.close()
|
row_result 의 값이 0이 아니라 -1로 나오길래 찾아보니 아래와 같은 설정을 해주어야 하나보다.
해결 방법
1
|
mysql.connector.connect(host="ip주소", user="사용자명",passwd="비번", db='db명', port=3309, buffered=True)
|
mysql.connector.connect 맨 뒤에 buffered=True 추가
설정하니 0으로 나온다.
'Error 모음집' 카테고리의 다른 글
subquery returns more than 1 row 에러 (0) | 2019.09.03 |
---|---|
convert MySQL Table Data to JSON string using Python (0) | 2019.05.20 |
hadoop 관련 Error (0) | 2019.05.16 |
hadoop 에러(Container killed on request. Exit code is 143) (0) | 2019.05.09 |
sqoop-mysql 연동 에러(접근 권한) (0) | 2019.05.09 |