2017-02-13 7 views
0

Ich habe ein Problem mit MySQL INSERT-Abfrage.MySQL in Python. Einfügen Abfrage funktioniert nicht

Hier ist mein Python-Code:

import socket 
import MySQLdb 

    def create_db(): 
     db1 = MySQLdb.connect(host="localhost",user="root",passwd="root") 
     cursor = db1.cursor() 
     sql = 'CREATE DATABASE IF NOT EXISTS env_data;' 
     select_db = 'USE env_data' 
     ins = "insert into env_data(cpu_usage, date, mem_usage) values('40%', '1999-01-01 11:11:11', '25%');" 
     engine_db = "set sql_mode='NO_ENGINE_SUBSTITUTION'" 
     us = 'CREATE TABLE IF NOT EXISTS env_data (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,date datetime NOT NULL,cpu_usage varchar(10) NOT NULL,mem_usage varchar(10) NOT NULL);' 
     cursor.execute(select_db) 
     cursor.execute(us) 
     cursor.execute(engine_db) 
     cursor.execute(ins) 

Nach der Ausführung Datenbank und die Tabellen korrekt erstellt werden, aber der Einsatz nicht funktioniert. Wenn ich diese Abfrage in meinem MySQL-Server tun, funktioniert es, aber von diesem Python-Skript - es gibt keine Einfügungen in cpu_usage, date, mem_usage.

In dem Skript habe ich auch versucht, mysql_notes = 0/mysql_notes = 1 zu tun.

Könnte bitte jemand mir bei diesem Problem helfen?

Antwort

0

Sie können db1.commit() nach den INSERT-Anweisungen hinzufügen. Dies funktioniert in mysql workbench/command line, weil es eine Autocommit Optionen hat, die standardmäßig auf true gesetzt ist. Andernfalls müssten Sie das Gleiche tun.

Verwandte Themen