Надо проверить название ранка и айди сервера
Я сделал как-то так:
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
)""")
Надо исправить название вопроса и обернуть код в вопросе тэгом code. См.п.3.6, 3.8 Регламента сервиса. В противном случае вопрос может быть удалён модератором.
Возможно причина в том, что вы пропустили литеру f перед строкой с текстом запроса на удаление.
"DELETE FROM ranks WHERE name = {name}"
Чтобы в строку подставилось значение переменной нужно
f"DELETE FROM ranks WHERE name = {name}"