Récupérer une réponse Input pour insert sur une base de donnée SQLite3
Bonjour à toutes et à tous !
Je suis désolé mais je suis débutant et ai deux (trois?) problèmes sur un petit programme que je dois faire pour accéder à la formation que je souhaite. Le programme doit créer une liste dans une base de donnée (jusqu'ici tout va bien) mais à partir d'une fonction input python traditionnelle. De plus, si le nom de l'utilisateur figure déjà dans la base de donnée, le programme doit ajouter un 1 devant son prénom, puis un 2 si le prénom1 est utilisé etc. (ex : si Laurie figure dans la BDD, le programme doit attribuer le nom Laurie1, si Laurie1 existe ça sera Laurie2 etc. etc.). J'ai donc deux soucis :
1 / Faire en sorte que "INSERT INTO..." SQL accepte la réponse du Input (ce que je n'arrive pas à faire car la BDD enregistre le nom la fonction et non pas la réponse...)
2 / Comment créer une fonction python pour que celui-ci puisse savoir si l'utilisateur existe déjà dans la base de donnée ou pas ?
3 / Comment implémenter une variable en lui ajoutant 1 puis 2 puis 3...
Voilà ce que j'ai fais : je vous préviens c'est archi-faux mais c'est pour vous donner une idée de mon raisonnement et pour que vous voyez à peu près où j'en suis :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
import sqlite3
connection_db = sqlite3.connect("logins.db")
cursor_db = connection_db.cursor()
while user_generator:
user_name = input("Créez votre identifiant")
def alt_login(user_name):
if new_user = user_name
print("Votre identifiant existe déjà")
new_user = user_name + 1
return False
elif new_user2 = new_user
print("Votre identifiant existe déjà")
new_user2 = new_user += 1
return False
continue
if (alt_login(new_user)):
print("Votre identifiant a bien été pris en compte")
user_name = (cursor_db.lastrowid, alt_login)
cursor_db.execute('INSERT INTO matrice_users VALUES(?,?)', user_name)
connection_db.commit()
print("Nouvel utilisateur ajouté")
connection_db.close() |
Pour ceux qui ont eu le courage de me lire bravo et merci d'avance d'aider le débutant que je suis !