variable example python mysql eclipse python-2.7 pymysql

python - variable - pymysql example



Pymysql Insert Into no funciona (3)

Estoy ejecutando esto desde PyDev en Eclipse ...

import pymysql conn = pymysql.connect(host=''localhost'', port=3306, user=''userid'', passwd=''password'', db=''fan'') cur = conn.cursor() print "writing to db" cur.execute("INSERT INTO cbs_transactions(leagueID) VALUES (''test val'')") print "wrote to db"

El resultado es que, en la parte superior de la consola, dice C: ... test.py, y en la consola:

escribiendo a db escribió a db

Entonces no termina hasta después del comando de ejecución. Pero cuando miro en la tabla en MySQL está vacío. Un registro no se insertó.

En primer lugar, ¿por qué no está escribiendo el registro? En segundo lugar, ¿cómo puedo ver un registro o error para ver qué sucedió? Por lo general, debería haber algún tipo de error en rojo si el código falla.


¿Lo has cometido? conn.commit()


Puedes hacer

  • conn.commit() antes de llamar close

o

  • habilite la conn.autocommit(True) automática mediante conn.autocommit(True) justo después de crear el objeto de conexión.

Ambas formas han sido sugeridas por varias personas en una duplicación de la pregunta que se puede encontrar aquí: La base de datos no se actualiza automáticamente con MySQL y Python.


PyMySQL deshabilita la confirmación automática de forma predeterminada, puede agregar autocommit=True para connect :

conn = pymysql.connect( host=''localhost'', user=''user'', passwd=''passwd'', db=''db'', autocommit=True )

o llame a conn.commit() después de su consulta