2016-12-11 4 views
0
conn = pymysql.connect(host = '127.0.0.1', unix_socket = '/var/run/mysqld/mysqld.sock', 
         user = 'root', passwd='', db = 'mysql') 

cur = conn.cursor() 
cur.execute("USE info") 

def store(name, review_url, city, state, zip, phone_number, rooms, email): 

    # prints this 
    print('trying to commit') 

    sql = "INSERT INTO 'Hotels' ('name', 'review_url', 'city', 'state', 'zip', 'phone_number', 'rooms', 'email') VALUES" \ 
      "(%s, %s, %s, %s, %s, %s, %s, %s)" 
    cur.execute(sql, (name, review_url, city, state, zip, phone_number, rooms, email)) 
    cur.connection.commit() 

    # doesnt print this 
    print('tried to commit') 

오류가 발생하지 않습니다. 데이터베이스 이름과 테이블 이름이 정확하며 모든 열 이름이 정확합니다.PyMySQL 삽입이 작동하지 않습니다.

그것은 '커밋하려고'출력합니다 있지만 인쇄

이 사람이 왜 이런 일을 알고 있나요 '저지하려고'나던?

+0

은 그것이 단지 conn.commit 아닌가요 역 따옴표()를 사용? –

+0

@ Dan-Dev 어느 쪽이든 작동한다고 생각합니다. conn.commit()으로 변경하고 동일한 동작을 수신합니다. – joe

답변

0

당신은

"INSERT INTO 'Hotels' ('name', 'review_url', 'city', 'state', 'zip', 'phone_number', 'rooms', 'email') 

주위에 작은 따옴표가 더 작은 따옴표를 사용하지 않는 시도하거나

"INSERT INTO Hotels (name, review_url, city, state, zip, phone_number, rooms, email)