Le code suivant a été exécuté dans le cahier Jupyter.
import pandas import pymysql connection = pymysql.connect(host='localhost', user='root', password='123456', database='sakila') cursor=connection.cursor() insert_query= INSERT INTO film_text (film_id, title, description) VALUES ('1001','ZZZ ZORRO','Zorro must Fight a Womanizer in Berlin'); cursor.execute(insert_query)
5 Réponses :
Vous devez vous aider à déformer la chaîne de requête en quote
Vous pouvez également écrire directement votre code comme celui-ci
cursor.execute("""INSERT INTO film_text (film_id, title, description) VALUES ('1001','ZZZ ZORRO','Zorro must Fight a Womanizer in Berlin'""");
Vous avez oublié de envelopper la requête entre guillemets. Le code suivant doit fonctionner parfaitement:
import pandas import pymysql connection = pymysql.connect(host='localhost', user='root', password='123456', database='sakila') cursor=connection.cursor() insert_query= "INSERT INTO film_text (film_id, title, description) VALUES ('1001','ZZZ ZORRO','Zorro must Fight a Womanizer in Berlin');" cursor.execute(insert_query)
Le type d'insert_query sera une chaîne.
insert_query = "INSERT INTO film_text (film_id, title, description) VALUES ('1001','ZZZ ZORRO','Zorro must Fight a Womanizer in Berlin')"
Mettre des citations doubles autour de l'insert_query, pour en faire une chaîne, résolva le problème.
Si vous ne prévoyez pas de faire des trucs très avancés avec les données de Python, il est peut-être préférable d'utiliser un Jupyter Kernel à jouer avec la base de données dans la plaine SQL. P>
Veuillez fournir le message d'erreur complet avec votre code. Cela aidera les autres à trouver le bug facilement.
On dirait que vous avez le nom de la table entouré de guillemets simples. Les noms de table et de champ peuvent avoir des backticks mais pas des citations, une seule ou double.
J'ai supprimé les citations simples et Reran, mais j'ai reçu une autre erreur "Syntaxe invalide".