когда вы создаете таблицу вот здесь
cursor.execute("""CREATE TABLE IF NOT EXISTS users (
id INTEGER,
cash INTEGER,
date TEXT,
prel TEXT
)""")
вы создаете таблицу с 4 колонками.
Везде где вы вставляете в таблицу данные например
cursor.execute(f"INSERT INTO users VALUES ({id}, {money}, '{str(datetime.date.today())}')")
вы вставляет ряд с тремя переменными id, money и сегодняшнюю дату, а где четвертая переменная? которая при создании таблицы называется
prel TEXT
И такое не в одном месте, вместо 4 преременных ожидаемых базой вы предоставили только 3.