ruriruriya

[RESTful API]Python MySQL- Connector 라이브러리 %s 매칭 데이터가 1개일 경우 튜플 처리 방법(버그 방지) 본문

Python Flask

[RESTful API]Python MySQL- Connector 라이브러리 %s 매칭 데이터가 1개일 경우 튜플 처리 방법(버그 방지)

루리야ㅑ 2023. 12. 7. 17:50
반응형

API 리소스 클래스에서 함수를 만들고
쿼리문을 넣을 때 쿼리문의 컬럼 매칭 %s가 1개라면
record에서 튜플에서 1개만 작성하게 된다.

여기서 주의 할 점은
튜플 1개일 때 뒤에 콤마(,)를 붙여주지 않으면 튜플 괄호가 없어지니 반드시 콤마(,) 붙여주는 것이다.
콤마(,)가 없어도 실행은 되지만 에러코드는 보여주지 않아 에러가 아닌 버그가 된다.
이렇게 튜플의 특성을 파악하고 확인하여 버그를 방지 하자.

record =(recipe_id, )

from flask import request
from flask_restful import Resource
from mysql_connection import get_connection
from mysql.connector import Error

class RecipePublishResource(Resource) :
    
    def put(self, recipe_id) :
        
        try :
            connection = get_connection()
            query = '''update recipe
                        set is_publish = 1
                        where id = %s;'''
            # 튜플 1개일 때 뒤에 콤마(,)를 붙여주지 않으면 튜플로 보지 않으니 반드시 콤마(,) 붙여줄 것
            record = (recipe_id,)
            
            ## 이하 생략 ##
반응형