Объясняю на пальцах:
UPDATE trial SET trialactive = 0 WHERE trialkey = 'vless:-test'
- обновить запись, где столбец
trialkey
равен строке "vless:-test"
UPDATE trial SET trialactive = 0 WHERE trialkey = vless:-test
- обновить запись, где столбец
trialkey
равен столбцу
vless:-test
, а такого столбца у тебя нет.
А причина - потому что ты не озаботился как следует посмотреть примеры работы с БД в питоне, и сразу побежал херачить текст запроса с помощью f-строк, хотя каждый первый туториал предупреждает что так делать нельзя, а нужно использовать placeholder'ы.
Ссылку на
https://docs.python.org/3/library/sqlite3.html#sql... тебе выше дали, разобрать её несложно.
Первый пример кода (который помечен
# Never do this -- insecure!
) допускает ту же самую ошибку, что и твоё
cursor.execute(f'UPDATE trial SET trialactive = 0 WHERE trialkey = {results}')
и другие запросы.
А второй пример кода показывает, как правильно.
# This is the qmark style used in a SELECT query:
params = (1972,)
cur.execute("SELECT * FROM lang WHERE first_appeared = ?", params)
Т.е. ставишь знак вопроса там, где нужно вставить значение, а потом вторым параметром передаёшь кортеж вставляемых значений - столько, сколько у тебя знаков вопроса в запросе.