Python/SQL problème incrementation/TypeError
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:
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:
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:
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.