2017-02-13 79 views
0

我有一個MySQL的INSERT查詢問題。python中的MySQL。插入查詢不起作用

這裏是我的Python代碼:

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) 

執行數據庫和表正確創建後,但不插入工程。 當我在我的mysql服務器中執行這個查詢時,它可以工作,但是從這個python腳本 - cpu_usage,date,mem_usage中沒有插入。

在腳本中我也試過做mysql_notes = 0/mysql_notes = 1

可以請某人幫我解決這個問題嗎?

回答

0

您可以在insert語句後添加db1.commit()。這在mysql工作臺/命令行中有效,因爲它有一個自動提交選項,默認設置爲true。否則,你將不得不這樣做。