@Destr2808

Две проверки в Sqlite3 Python?

Мне нужно сделать **две проверки**

Надо проверить название ранка и айди сервера
Я сделал как-то так:

name = input("Название ранка:")
print(f"Вы удалили ранк {name}!")

for i in sql.execute(f"SELECT * FROM ranks WHERE name = {name}"):
if i[0] == ctx.guild.id:
sql.execute("DELETE FROM ranks WHERE name = {name}")
db.commit()

но это удаляло все ранги которые есть с названием

Бд:

sql.execute("""CREATE TABLE IF NOT EXISTS ranks (
guild_id BIGINT,
name TEXT,
price BIGINT,
work1 BIGINT,
work2 BIGINT,
salary1 BIGINT,
salary2 BIGINT
)""")

Есть ли решение данной проблемы?
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
sql.execute("DELETE FROM ranks WHERE name = {name } AND guild_id = {ctx.guild.id}")
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
LaRN
@LaRN
Senior Developer
Возможно причина в том, что вы пропустили литеру f перед строкой с текстом запроса на удаление.
"DELETE FROM ranks WHERE name = {name}"
Чтобы в строку подставилось значение переменной нужно
f"DELETE FROM ranks WHERE name = {name}"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы