본문 바로가기
Restful API

[Restful API] MySQL Connector 라이브러리 사용 중에, %s에 매칭되는 데이터가 1개인 경우

by dong_su 2023. 12. 6.
            query = '''
                    select * 
                    from recipe
                    where id = %s;
                    '''
            
            record = (recipe_id)

            cursor = connection.cursor(dictionary=True)

            cursor.execute(query, record)

-> 위 코드를 실행하면 이런 오류가 뜬다. 이유는 record 변수엔 tuple 타입의 데이터를 넣어야 하는데,

recipe_id = 1 인 상태에서 (1)로 넣어버렸기 때문이다.

 

해결 방법)

            query = '''
                    select * 
                    from recipe
                    where id = %s;
                    '''
            
            record = (recipe_id, )

            cursor = connection.cursor(dictionary=True)

            cursor.execute(query, record)

-> record = (recipe_id, )로 tuple 형태로 만들어 주면 된다.