MySQL / Python -> ¿Sintaxis incorrecta para el marcador de posición en las declaraciones?

Estoy tratando de usar el marcador de posición en una statement de inserción.

Estoy usando PyCharm / Python 3.6, una base de datos MySQL y el mysql.connector (no sé cuál de ellos exactamente).

introduzca la descripción de la imagen aquí

¿Por qué no funciona el siguiente código?

insert_stmt = "INSERT INTO mydb.datensatz (Titel) VALUES ('%s');" data = (titel) cursor.execute(insert_stmt, data) cnx.commit() 

El título es una cuerda.

Esto es lo que se inserta, pero necesito tener la cadena de título en esa fila. introduzca la descripción de la imagen aquí

Al eliminar el ” en las llaves de valores, PyCharm me da un error con la syntax MySQL incorrecta.

¿Cómo utilizar marcadores de posición en este caso? ¿Cómo podría usar más marcadores de posición, por ejemplo, al insertar en más columnas que una? La investigación no ayudó.

Debe eliminar las comillas de %s Y asegurarse de que sus parámetros estén en una tupla:

 insert_stmt = "INSERT INTO mydb.datensatz (Titel) VALUES (%s);" # Removed quotes around %s data = (titel,) # Added trailing comma to make tuple cursor.execute(insert_stmt, data) cnx.commit() 

Cuando tiene un solo valor en una tupla, debe incluir una coma al final: (item,)