• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Kasowanie wszystkich kont bez gracza

Status
Not open for further replies.

Murach

Banned User
Joined
Aug 22, 2010
Messages
136
Reaction score
3
Potrafi ktoś złożyć zapytanie SQL na to, aby usunąć wszystkie konta bez postaci ?

Ktoś mi zaspamował botem i mam już 400 tyś kont. Wczoraj było już 200.

Znalazłem coś takiego lecz nie działa

Code:
SELECT *
FROM accounts
WHERE id NOT
IN (
SELECT id
FROM players
);

Po wpisaniu pokazuje wszystkie konta jakie są na serwerze.
 
Last edited:
SQL:
DELETE `accounts` WHERE `id` NOT IN (SELECT `account_id` FROM `players`);
 
SQL:
DELETE `accounts` WHERE `id` NOT IN (SELECT `account_id` FROM `players`);
a wiesz, że to: ilość_kont+1 zapytań?

#temat
tak się kończy jak się nie ma captchy, zawsze się znajdzie sposób na zajebanie bazy :D
 
a wiesz, że to: ilość_kont+1 zapytań?

#temat
tak się kończy jak się nie ma captchy, zawsze się znajdzie sposób na zajebanie bazy :D
Wiem, ale i tak to zapytanie użyje raz na parę miesięcy, więc nie jest jakimś totalnym zagrożeniem obciążenia.
 
Coś źle z tym zapytaniem, nie zatwierdza mi tego w bazie.

Wpisuje i występuje taki błąd
43310528.png


Gdzie struktura accounts wygląda tak

75044857.png


a players tak

83681562.png


Coś jest źle ?
 
PHP:
DELETE from `accounts` WHERE `id` NOT IN (SELECT `account_id` FROM `players`);

To musi zadziałać :)
 
Usunęło wszystkie konta, i zostawiło tylko te, które mają account_id takie jak id postaci ; D Kont tyle samo co postaci.

Dobrze że na kopii to robiłem, chciałem od razu na bazie, to ładnie by mi pomieszało.
Troszeczkę źle sformułowane.
 
Usunęło wszystkie konta, i zostawiło tylko te, które mają account_id takie jak id postaci ; D Kont tyle samo co postaci.

Dobrze że na kopii to robiłem, chciałem od razu na bazie, to ładnie by mi pomieszało.
Troszeczkę źle sformułowane.

A no fakt, na szybko robiłem. Hmmmm, zaraz pomyśle.
 
SQL:
DELETE FROM accounts where (SELECT count(*) FROM players WHERE account_id = accounts.id) = 0
 
Averatec, u mnie w strukturze account i players jako ID jest nazwa "ID". Nie ma account_ID czy players_ID.

Zrobiłem to tak
Code:
DELETE FROM accounts WHERE (SELECT COUNT(*) FROM players WHERE id = accounts.id) = 0

Lecz wyszło to samo, zostało tyle kont ile postaci.

@edit Na screenach wyżej widać jak jest w bazie.
 
sory przyzwyczajony jestem do tfs... nie zauwazylem

SQL:
DELETE FROM accounts WHERE (SELECT COUNT(*) FROM players WHERE account = accounts.id) = 0
 
poniewaz to zapytania usuwa wszystkie konta gdzie ilosc graczy jest rowna 0, a o to Tobie chyba chodzilo
 
Owszem chodziło mi o to ;) Ilość postaci w bazie = 495, a kont po zapytaniu zostało 45. Więc to trochę nie logiczne ; )
 
hmm jakims cudem dla mnie dziala, byc moze cos przeoczylem
 
Owszem chodziło mi o to ;) Ilość postaci w bazie = 495, a kont po zapytaniu zostało 45. Więc to trochę nie logiczne ; )

Ktoś mi zaspamował botem i mam już 400 tyś kont. Wczoraj było już 200.

Nie logiczne, to są Twoje wypowiedzi. Chcesz mieć zapytanie które nie będzie wpływało krzywdząco na Twoją logikę to sobie je sam napisz - MySQL :: MySQL Documentation: MySQL Reference Manuals tam masz wszystko ładnie opisane, dla siebie tego przecież nie pisali. Zamykam, bo nie potrafisz nawet zmienić literki w zapytaniu, co jest sprzeczne z logiką i regulaminem PB.
 
Status
Not open for further replies.
Back
Top