没有错误,但无法向MySQL输入数据

时间:2015-05-18 06:51:09

标签: python mysql

我有这个代码使用MySQL将数据插入数据库。但是当我使用Python运行该代码时,没有错误。但是当我检查数据库时,没有插入数据。有没有人可以帮助我?我会很感激。 :)

这是代码:

import MySQLdb

db=MySQLdb.connect(host="localhost", user="root", passwd="", db="try")
cursor=db.cursor()

insert="INSERT INTO `try`.`try` (`nomor`, `nama`) VALUES (NULL, 'bismillah')"
cursor.execute(insert)

2 个答案:

答案 0 :(得分:1)

你在任何地方都没有COMMIT。因此,如果未启用自动提交,那么您所做的就是创建一个事务,如果以后提交,将插入此行。

由于您未在任何地方完成SET AUTOCOMMIT,因此自动提交是否开启取决于您创建数据库的方式。至少有一些存储类型(特别是InnoDB),您可以在创建时更改默认值,并且,因为您经常希望使用这些存储类型,GUI设计工具禁用自动提交,或者您复制和粘贴的示例代码,或者您可能已经完成的任何操作。此外,提供默认值的服务器变量本身可以在服务器启动/配置时设置为不同的值。 (见System Server Variables。)

如果您想确保启用自动提交,只需在任何其他语句之前执行SET autocommit=1

如果要查明自动提交是否已启用,请执行SHOW VARIABLES。 (如果它已被停用,您可以尝试SHOW GLOBAL VARIABLES LIKE 'autocommit'SHOW SESSION VARIABLES like 'autocommit'查看您已将其禁用的上下文。)

答案 1 :(得分:0)

如果你不能插入mysql,有几种方法可以解决它: 1:检查日志 2:检查表的结构,对于nomor或其他字段,它可能不能为空 3:最后一个,当使用程序插入mysqldb时,需要在关闭连接之前提交。对于这里:db.commit()