2017-08-02 2 views
0

J'essaie de supprimer un utilisateur de ma base de données en utilisant python et sqlite.Python sqlite3 Erreur opérationnelle

import sqlite3 

database_connection = sqlite3.connect('test.db') 

delete_username_input = input("Which user you would like to delete?\n\n") 
sql = ("DELETE * from USERS where USERNAME = ?") 
args = (delete_username_input) 
database_connection.execute(sql, args) 
database_connection.commit() 
database_connection.close() 

Lorsque vous exécutez le code ci-dessus, je reçois l'erreur suivante:

sqlite3.OperationalError: near "*": syntax error 

Toute idée de ce qui pourrait être la cause de cette erreur?

Le tableau que j'utilise a été créé en utilisant la syntaxe suivante:

conn.execute('''CREATE TABLE USERS 
    (ID INTEGER PRIMARY KEY AUTOINCREMENT, 
    USERNAME  TEXT NOT NULL, 
    PASSWORD  TEXT  NOT NULL, 
    WINS   FLOAT NOT NULL, 
    LOSES   FLOAT NOT NULL, 
    GAMESPLAYED FLOAT NOT NULL, 
    WINPERCENT FLOAT NOT NULL );''') 

Toute aide sera appréciée.

Répondre

1

Votre syntaxe SQL est erronée. Il devrait être

DELETE from USERS where USERNAME = ? 

sans *

Check it out here

+1

Oui qu'il est, je vous remercie. De plus, database_connection.execute (sql, args) aurait dû être database_connection.execute (sql, (args,)). –