2015-06-15 3 views
0

Я пытаюсь создать класс для автоматического создания объектов клиента, которые будут автоматически обновляться в таблице клиентов в Mysql.Невозможно обновить базу данных SQL с помощью python Pymysql

Хотя я могу успешно генерировать клиентов, я не вижу обновленных результатов в localhost/phpmyadmin.

from itertools import count 
import pymysql 

db = pymysql.connect('localhost','root','',db = 'customers') 

cursor = db.cursor() 

class customer(): 
    _ids = count(0) 

    def __init__(self,User,Password,Wallet): 
     self.ID = next(self._ids) 
     self.User = User 
     self.Password = Password 
     self.wallet = Wallet 

     insert = '''INSERT INTO customer(ID,Username,Password,Wallet) values ('%s','%s','%s','%s');'''%(self.ID,self.User,self.Password,self.wallet) 

     conn = pymysql.connect('localhost','root','',db = 'customers') 
     inscursor = conn.cursor() 
     conn.commit() 

Python, похоже, не вызывает никаких ошибок или исключений.

KJ

+1

я не вижу свой 'insert' заявление выполняется в любом месте, может быть проблема? – Kev

+0

Crap:/.. ты прав – Kannaj

ответ

1

Вы должны выполнить перед фиксацией.

with connection.cursor() as cursor: 
    # Create a new record 
    sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)" 
    cursor.execute(sql, ('[email protected]', 'very-secret')) 

# connection is not autocommit by default. So you must commit to save 
# your changes. 
connection.commit() 

https://github.com/PyMySQL/PyMySQL#example

0

Ответ очень прост. Вы не выполняете запрос, который вы строите.

Вы должны добавить строку

inscursor.execute(insert) 

перед тем conn.commit()

Смежные вопросы