0
votes

Comment réparer "près") ": erreur de syntaxe" dans SQLite

Je travaille avec Python et SQLite. Je reçois constamment ce message

"proche") ": erreur de syntaxe". p> blockQuote>

J'ai essayé d'ajouter un demi-point à toutes les requêtes, mais je reçois toujours ce message d'erreur. P>

tables.append("""
                        CREATE TABLE IF NOT EXISTS payment (
                            p_id integer PRIMARY KEY,
                            o_id integer NON NULL,
                            FOREIGN KEY(o_id) REFERENCES orders(o_id),
                        );"""
                        )


0 commentaires

3 Réponses :


2
votes

Vous avez une virgule avant la fermeture finale ) forte>. Simplez-le simplement.

I.e. Utilisation: - P>

tables.append("""
                        CREATE TABLE IF NOT EXISTS payment (
                            p_id integer PRIMARY KEY,
                            o_id integer NON NULL,
                            FOREIGN KEY(o_id) REFERENCES orders(o_id)
                        );"""
                        )


1 commentaires

Je l'ai compris. J'étais sur le point de lui répondre moi-même par vous les gars l'a fait d'abord.



2
votes

Supprimer la virgule à la fin de la touche Clé étrangère (O_ID) Commandes (O_ID), CODE>

Le code de travail sera le suivant: p>

tables.append("""
    CREATE TABLE IF NOT EXISTS payment (
        p_id integer PRIMARY KEY,
        o_id integer NON NULL,
        FOREIGN KEY(o_id) REFERENCES orders(o_id)
    );"""
)


1 commentaires

Je l'ai compris. J'étais sur le point de lui répondre moi-même par vous les gars l'a fait d'abord.



0
votes

Essayez ceci:

tables = []
tables.append("""
CREATE TABLE IF NOT EXISTS payment p_id integer PRIMARY KEY,
o_id integer NON NULL FOREIGN KEY(o_id) REFERENCES orders(o_id),
              """)                                
print(tables)


1 commentaires

Il y avait une, après la dernière déclaration. Supprimer le bug.