• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    미해결

데이터 삽입에 관한 질문

20.02.14 02:07 작성 조회수 399

0

데이터를 10개로 늘리는 과정에서 다음과 같이 입력을 하면

------------------------------------------------------

for index in range (10):

    product_code= 637172361661816756 + index + 1

    sql="""insert into product values(

         '""" + str(product_code) + """','요즘에/단독봄신상10%할인/청바지/슬랙스/빅사이즈',32900,69,9900,'F');"""

#cursor.execute(sql)

print(sql)    

#db.commit()

#db.close()

-------------------------------------------------

강의 해 주신대로 product_code가 10개로 늘어나 있지 않고 

결과 값이 이렇게 나와요. 

insert into product values(
         '637172361661816766','요즘에/단독봄신상10%할인/청바지/슬랙스/빅사이즈',32900,69,9900,'F');

mysql에서도 전혀 변함이 없습니다. 무엇이 잘못 된 것일까요?

답변 2

·

답변을 작성해보세요.

0

miyabi님의 프로필

miyabi

질문자

2020.02.17

답변 감사합니다. 데이터베이스에 관련된 개념은 이전에 다뤄 본 적있어 어찌어찌 떠올리며 하고 있었는데, 파이썬을 다시 제대로 들어야 할 것 같아 말씀하신 강의 구입했습니다. 열심히 들어보겠습니다. 

알려주신 대로 print(sql)구문을 for문 안에 넣어 주니  쥬피터노트북 안에서는 10개가 연달아 출력이 되는데요,

woekbench에서 확인 하면 위에 그림처럼 10단위로 1개씩만 데이터가 추가되서 출력이 되네요. 

게다가  print(sql)을 #처리 하고 

#cursor.execute(sql)을 실행하려고 하면 아래와 같은 에러가 나타납니다. 

이 부분도 상기에 알려주신 수업을 먼저 듣고나면 조금 더 수월 할까요?

 # If the last query was unbuffered, make sure it finishes before

InterfaceError: (0, '')


0

안녕하세요. 아마도 출력이 1번된다는 것을 말씀하시는거죠? 그 부분은 print(sql) 코드를 for 문 안에서 동작하도록 탭으로 띄우셔야 하는데, 안띄우셔서, for 문이 끝나고 실행되기 때문에 1번 출력되는 것으로 보여집니다. 만약 이 부분이 문제라면,  제 생각에는 아직 DB를 익히기에는 조금 어려움이 크실 수 있어요. 다음 강의를 통해서, 우선 기본 실력을 조금 키우신 후에 mysql을 더 진행해보시면 좋을 것 같습니다. 감사합니다.

파이썬입문과 크롤링기초 부트캠프 [쉽게! 하지만, 견고한 자료로!]

for index in range (10):

    product_code= 637172361661816756 + index + 1

    sql="""insert into product values(

         '""" + str(product_code) + """','요즘에/단독봄신상10%할인/청바지/슬랙스/빅사이즈',32900,69,9900,'F');"""

#cursor.execute(sql)

    print(sql)