Python - Problema python-MySQL

 
Vista:
sin imagen de perfil

Problema python-MySQL

Publicado por Enrique (3 intervenciones) el 16/10/2014 16:22:38
Buenas!
Estoy experimentando con un script de python que quiero que me añada registros a una base de datos MySQL. Pero me da un fallo de sintaxis y no sé por donde cogerlo.. Seguramente haya alguna solución y he estado probando distintos ejemplos pero nada.. Dejo aquí el código del archivo y el error que me da:

Código Python:

#!/usr/bin/python
#-*- coding: UTF-8 -*-

import MySQLdb

db=_mysql.connect(host="localhost",user="ejemplo", passwd="***",db="arduino")
#crea un cursor que te permita enviar sentencias sql
cursor=db.cursor()

#Asignando los valores que pueden ser desde una terminal o de una aplicacion
id1 = 1



sql="INSERT INTO datos(valor) VALUES ('%d')% ('id1')


#enviamos la sentencia sql
cursor.execute(sql)

#guardamos cambios en la base de datos
db.commit()

#cerramos la conexion a la base de datos
db.close()


Y el error que lanza:

~/Escritorio$ python insertar.py
File "insertar.py", line 15
sql="INSERT INTO datos(valor) VALUES ('%d')% ('id1')
^
SyntaxError: EOL while scanning string literal

Sólo quiero que la variable id1 me ingrese un 1 (luego esto será la salida de un sensor)

Gracias anticipadas!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema python-MySQL

Publicado por Nacho (2 intervenciones) el 16/10/2014 16:31:21
No he probado, pero a simple vista.

sql="INSERT INTO datos(valor) VALUES ('%d')% ('id1')


Te faltan las comillas de cierre de la sentencia y el punto y coma
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problema python-MySQL

Publicado por Enrique (3 intervenciones) el 16/10/2014 16:35:29
Gracias!! eran las comillas, pero ahora me dice esto en la terminal

db=_mysql.connect(host="localhost",user="ejemplo", passwd="****",db="arduino")
NameError: name '_mysql' is not defined

Gracias por contestar!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema python-MySQL

Publicado por Nacho (2 intervenciones) el 16/10/2014 16:38:43
tienes más escrito el objeto.

Es MySQLdb.connect(), con las mayúsculas. Lo tienes escrito en minúsculas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problema python-MySQL

Publicado por Enrique (3 intervenciones) el 16/10/2014 16:45:50
Gracias por contestar.. pero sigue dando fallos y no sé por qué..creo que tiene que ver con la sentencia INSERT INTO datos...
Este es el error que lanza

_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '% ('id1')' at line 1")

Gracias de nuevo y perdona tanta pregunta ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Problema python-MySQL

Publicado por xve (1646 intervenciones) el 16/10/2014 20:00:02
Hola Enrique, como tienes la consulta de Insert? nos la puedes mostrar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar