classSql:def__init__(self):self.conn=sqlite3.connect('ADZ-database')self.cursor=self.conn.cursor()definscription(self,username,password,requester):""" this method dumps into the ADZ database username and password of the user (requester) :param username: :param password: :param requester: """try:self.cursor.execute('CREATE TABLE IF NOT EXISTS ''users(username TEXT NOT NULL UNIQUE, password TEXT NOT NULL)')self.conn.commit()try:self.cursor.execute('INSERT INTO users(username, password)',(username,password))self.conn.commit()self.cursor.close()self.conn.close()print(GREEN+'user['+requester+'] created a new account\n')return'executed'exceptsqlite3.IntegrityError:print(RED+'user['+str(requester)+'] tried to create an account but username already exist...\n')return'error-2'exceptsqlite3.Errorassq:print(RED+'An error occurred during creating a new account for the user: ['+str(requester)+']\n')print(sq)return'error-1'````etunesortieenerreur:```pyAnerroroccurredduringcreatinganewaccountfortheuser:[<socket.socketfd=5,family=AddressFamily.AF_INET,type=SocketKind.SOCK_STREAM,proto=0,laddr=('192.168.0.12',4567),raddr=('192.168.0.12',51385)>]near")":syntaxerror
c’est un bout de mon code mais sa coince au niveau du premier try except ou j’ai mis as…
pouvez vous m’aidez ?
merci et bonne soirée
oui mais ma sortie est au niveau du premier except ou il m’affiche l’erreur, tu es sûr que l’erreur n’est pas au niveau du CREATE TABLE IF NOT EXISTS…
si l’erreur est dans el deuxième try comme tu dis, pourquoi la sortie ne serait-elle donc pas celle du deuxième except ?
Le except ligne 24 ne gère que les exceptions sqlite3.IntegrityError. Si ton INSERT émet une exception sqlite3.Error, c’est le except ligne 27 qui le gère.
dans le graphe : column-def puis column-constraint ;
"A set of SQL constraints for each table. SQLite supports UNIQUE, NOT NULL, CHECK and FOREIGN KEY constraints."
dans la section "Column Definitions" ;
dans la section "SQL Data Constraints".
La définition de la contrainte :
A UNIQUE constraint is similar to a PRIMARY KEY constraint, except that a single table may have any number of UNIQUE constraints. For each UNIQUE constraint on the table, each row must contain a unique combination of values in the columns identified by the UNIQUE constraint. For the purposes of UNIQUE constraints, NULL values are considered distinct from all other values, including other NULLs. As with PRIMARY KEYs, a UNIQUE table-constraint clause must contain only column names — the use of expressions in an indexed-column of a UNIQUE table-constraint is not supported.
Il me semblait avoir compris que les contraintes se mettaient à la fin, ce qui correspondrait avec ce que je me souviens de SQLite et ce qui est écrit ici.
Connectez-vous pour pouvoir poster un message.
Connexion
Pas encore membre ?
Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte