2017-02-13 51 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。否则,你将不得不这样做。