2011-05-17 15 views
40

Estoy usando python MySQL API para conectarme a la base de datos Mysql desde el programa python. Estoy enfrentando un problema desde hace algunos días. No puedo insertar registros en la base de datos y no sé cuál es el motivo. Esta es la forma en que conecto e inserto registros en la base de datos.Python MySql Insertar no funciona

db = MySQLdb.connect("localhost","root","padmaramulu","pdfsearch") 
cursor = db.cursor() 
#cursor.execute("""CREATE TABLE IF NOT EXISTS documents (docid INT NOT NULL ,PRIMARY KEY(docid),docname CHAR(30)) engine=innodb""") 
temp = "hello";number = 2; 
cursor.execute('insert into documents(docid,docname) values("%d","%s")' % (number,temp)) 
db.close() 

¿Por qué es así?

+12

Debe marcar la respuesta que resolvió su problema. La persona que escribió esa respuesta obtendrá puntos de bonificación bien merecidos, y los lectores instantáneamente ahora que la solución se ha aplicado y funciona. – CamilB

Respuesta

96

Antes de cerrar la conexión, se debe añadir db.commit().

+0

Gracias que resolvió mi problema .. – nikhil

+16

alternativamente puede usar db.autocommit (Verdadero) al comienzo de su script. ya que la confirmación automática está deshabilitada para MySQLdb comenzando con 1.2.0 – SRC

+0

Muchas gracias .. Extreemely helpful – tusharmakkar08