O marcador de parâmetro é
%s não %d . add_user = """INSERT INTO DB.tbluser
(username, department, startyear, currentpos, link)
VALUES (%s, %s, %s, %s, %s)"""
Observe que os marcadores de parâmetro usado por
mysql.connector pode ser igual ao %s usado na formatação de strings do Python, mas a relação é apenas coincidência. Alguns adaptadores de banco de dados como oursql e sqlite3 usar ? como o marcador de parâmetro em vez de %s .