mysql의 insert 쿼리문 타입 질문입니다

조회수 1877회
sql = """insert into tb_q (q_num, title, contents, tag, user, time)
                   values (%s,%s,%s,%s,%s,%s)"""

이런 식의 쿼리문을 짰는데요,
q_num 변수가 정수형인데 %s로 해도 db에 정수형으로 삽입이 되는건가요?
db로 삽입된 데이터 확인은 되는 상태입니다.
(db에도 해당 필드의 타입은 int입니다.)

그리고, time 변수는 문자열 형식인데 db의 해당 필드는 datetime 으로 해두었습니다. 이땐 %s로 넣는게 맞는걸까요? 이것도 db에 데이터가 삽입된것은 확인됩니다

1 답변

  • 네 저도 처음에 헷갈린 바인데 pymysql에서 %s는 string의 s가 아니라 단순히 데이터를 넣고자 하는 위치만을 지정하는 용도 밖에 없습니다.

    (출처를 지금은 잊었는데 .. 문서를 확인한 적이 있습니다)

    또한, datetime, int, decimal, float등 어떤 데이터 형도 %s로 하시면 됩니다.

    • AttributeError: 'numpy.float32' object has no attribute 'translate' 김진해 2021.10.27 17:24
    • 위에러를 알고싶습니다. 김진해 2021.10.27 17:25

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)