• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    미해결

10강 pymysql 로 INSERT 하는 구문 오류 한번 봐주시면 감사하겠습니다.

22.08.18 08:41 작성 조회수 512

0

pymysql로 table은 잘 생성되고 mysql 워크벤치를 통해서도 잘 들어가있는 것을 확인했습니다.

하지만 INSERT 문에서 오류가 발생하는데요, 한 문장만 excute()하면 에러가 없는데 여러 개를INSERT 하려니 ERROR가 발생합니다.

(MySQL에서 DML시 정상작동합니다.)

여러 문장 입력시 오류
sql = """
INSERT INTO dept VALUES ('10','ACCOUNTING','NEW YORK');
INSERT INTO dept VALUES ('20','RESEARCH','DALLAS');
INSERT INTO dept VALUES ('30','SALES','CHICAGO');
INSERT INTO dept VALUES ('40','OPERATIONS','BOSTON');"""
curs.execute(sql)
ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO dept VALUES ('20','RESEARCH','DALLAS');\nINSERT INTO dept VALUES ('30' at line 2")
 
#한 문장만 수행시 오류 x
sql = """
INSERT INTO dept VALUES ('10','ACCOUNTING','NEW YORK');
"""
 
>> curs.execute(sql)
1
 

 

답변 1

답변을 작성해보세요.

0

안녕하세요. 답변도우미입니다.

 

execute() 를 실행할 때에는 하나의 온전한 명령을 수행하는 것이라서요. 말씀하신대로, 여러 명령을 한꺼번에 실행하면, 에러가 나는 것이 정상으로 이해가 됩니다.

이후 영상에서도 설명을 드리기도 하지만, 다음 블로그글도 참고해보셔서, 하나씩 실행하는 하는 형태로 구성하면 좋지 않을까 의견을 드립니다.

https://hyang2data.tistory.com/6

 

감사합니다.