2016-12-11 67 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)