MySQL中的python。插入查询不起作用

时间:2017-02-13 12:24:18

标签: python mysql insert

我的MySQL INSERT查询有问题。

这是我的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

可以请某人帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您必须在insert语句后添加db1.commit()。这适用于mysql workbench /命令行,因为它有一个 autocommit 选项,默认设置为 true 。否则,你必须这样做。