Для SQL базы правильнее будет объявить уникальность поля (UNIQUE/PRIMARY KEY), и затем при вставке можно не делать самостоятельных проверок, дубликаты итак не будут заноситься.
При создании таблицы:
CREATE TABLE users (
user_id INTEGER PRIMARY KEY # чтобы заполнялся автоматически, тогда вообще не нужно указывать id, он всегда будет проставляться автоматом новый
user_name TEXT);
Тогда при вставке не нужно вообще использовать user_id, оно будет проставляться автоматически
cur.execute('''INSERT INTO users(user_name) VALUES(?)''', (user_name, ))
или
CREATE TABLE users (
user_id INTEGER UNIQUE, # если планируется самостоятельно заносить id
user_name TEXT);
Тогда user_id нужно проставлять самому, но проверку дубликатов делать тоже не придется, если указать OR IGNORE
cur.execute('''INSERT OR IGNORE INTO users(user_id, user_name) VALUES(?, ?)''', (user_id, user_name))