0
votes

MySQL Insérer dans l'utilisation d'une erreur de notes Jupyter: Syntaxe non valide

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)


3 commentaires

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".


5 Réponses :


0
votes

Vous devez vous aider à déformer la chaîne de requête en quote xxx


0 commentaires

1
votes

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'""");


0 commentaires

1
votes

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)


0 commentaires

1
votes

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')"


1 commentaires

Mettre des citations doubles autour de l'insert_query, pour en faire une chaîne, résolva le problème.



0
votes

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.


0 commentaires