2015-11-10 3 views
1

Все имена базы данных и имена таблиц верны. Сценарий питона работает без ошибок, но значения никогда не записываются в базу данных (таблица остается пустой) `Python INSERT не будет записываться в базу данных

datetimenowDB = str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")) 
deviceDB = "ALARM" 
statusDB = "Tripped" 
typeDB = "None" 
try: 
    db = MySQLdb.connect(
    host="localhost", 
    user="root", 
    passwd="toor", 
    db="log_database") 
except Exception as e: 
sys.exit('Cant get into database.') 

c = db.cursor() 

c.execute("INSERT INTO control_log (date_time, device, status, type) VALUES (%s,%s,%s,%s)", 
(datetimenowDB, deviceDB, statusDB, typeDB)) 

ответ

3

MySQLdb автоматически начинает транзакцию для вас. Вам нужно позвонить db.commit() после того, как вы закончите вносить изменения.

See this tutorial.

+0

Или установите 'db.autocommit = True'. –

+2

@KevinGuan Технически правильно! Но транзакции важны для производительности и, что более важно, для обеспечения безопасности данных. Включите автосознание на свой страх и риск. – Schwern

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