f'''INSERT INTO {table_name}(date, id, username)
VALUES('{date}', '{user_id}', '{username}')'''
Вот почему бы не почитать хоть
какой-нибудь туториал или
официальную документацию(начиная со слов "SQL operations usually need to use values from Python variables")?
Я понимаю динамическое имя таблицы (хотя это тоже сомнительный ход), но уж параметры-то можно вставлять по-человечески.
А вообще, выбери что-то одно. Если ты осваиваешь SQL, не выделывайся с динамической генерацией запросов, освойся с простыми вещами для начала. Если нет - используй ORM, тот же peewee для начала, пусть он за тебя генерит запросы.
Ну и до кучи, как ты проверяешь, что в базу ничего не добавляется?