Estoy tratando de insertar un montón de cadenas en mysql usando python y mysql.connector. Mi código actual se ve más o menos así:Escapar cadenas con python mysql.connector
db = mysql.connector.Connect('config blah blah')
cursor = db.cursor()
data = (somestring1, somestring2)
sql = "INSERT INTO mytable (col1, col2) VALUES ('%s', '%s')"
cursor.execute(sql, data)
¿Cómo debo proceder para escapar de mis cadenas? I podría intentar hacerlo en python, pero sé que esta no es la manera correcta.
Nota: Me doy cuenta de que mysql.connector aún está en desarrollo.
actualización:
línea 4 debe decir:
sql = "INSERT INTO mytable (col1, col2) VALUES (%s, %s)"
Gracias. De hecho, escribí mi código de ejemplo correctamente. Lo he editado para mostrar mi problema. –
¿Y si tiene que generar una declaración de inserción que contiene 1000 (10,000, 1,000,000) valores, tiene que codificarla con '% s'? ¿Qué sucede si no sabe cuántos valores tiene que insertar, por ejemplo, qué sucede si lo lee desde un origen externo (archivo, solicitud HTTP), cómo usar "escapado automático"? – Vitaliy