Bonjour/bonsoir,

J'ai un problème comme l'indique le titre, entre une opération d'incrémentation à partir d'un fichier python vers un base de données (SQLite3),

J'ai créer un dbase avec une table de ce type:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
CREATE TABLE `table_scores` (
	`user`	TEXT NOT NULL,
	`score`	INTEGER,
	`id`	INTEGER NOT NULL, #Avec ou sans NOT NULL même problème.
	PRIMARY KEY(`id`)
);
Tout ce passe bien sauf pour incrémenter la colonne ID, mon script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
#variables
 
path_db_user = '/db/'
conn = sqlite3.connect('db/user_db')
db_ram = sqlite3.connect(':memory:')
c = conn.cursor()
last_id = c.lastrowid
id = 5
user = 'jean'
score = 500
 
def insert_data():
	c.execute("INSERT INTO table_scores VALUES (?,?,?);", ( user, score,(c.lastrowid + 1))) # ICI (pareil avec la variable last_id)
	conn.commit()
	c.close()
	conn.close()
insert_data()
Quand je lance, cela me met :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
  File "pendu.py", line 19, in insert_data
    c.execute("INSERT INTO table_scores VALUES (?,?,?);", ( user, score, (c.lastrowid + 1)))
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
Je sais pas lequel des deux valeurs entre c.lastrowid + 1 et ID déconne. (J'ai déjà des valeurs d'enregistrer dans la colonne ID).
Si quelqu'un à la solution ou une autre solution, je suis preneur, merci d'avance.