• 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!

Najczęstsze zapytania SQL do bazy danych

sn3ejk

This account is inactive.
Joined
Nov 16, 2011
Messages
2,121
Solutions
1
Reaction score
145
Najczęstsze zapytania SQL do bazy danych, czyli
Frequently Asked Queries



Temat zawiera najczęstsze zapytania SQL do bazy danych, o które proszą użytkownicy forum. Każdy użytkownik, który nie wie jak stworzyć zapytanie do bazy danych (i go nie znalazł w żadnym istniejącym temacie) może stworzyć post z prośbą o napisanie zapytania dla niego.


  1. Dodanie X punktów premium do każdego istniejącego konta.
    SQL:
    UPDATE `accounts` SET `premium_points` = `premium_points` + X;
  2. Dodanie X punktów premium do każdego konta, na którym aktualnie zalogowany co najmniej jedna postać.
    SQL:
    UPDATE `accounts` SET `premium_points` = `premium_points` + X WHERE`id`IN (SELECT `account_id` FROM
      `players` WHERE `online` = 1);
  3. Ustawienie pozycji wszystkich graczom na X, Y, Z.
    SQL:
    UPDATE `players` SET `pos_x` = X, `pos_y` = Y, `pos_z` = Z;
  4. Ustawienie miasta wszystkim graczom na X.
    SQL:
    UPDATE `players` SET `town_id` = X;
  5. Usunięcie przedmiotu o id równym X z gry (postacie, domy, depo).
    SQL:
    DELETE FROM `player_depotitems`, `player_items`, `tile_items` WHERE `itemtype` = X;
  6. Dodanie X punktów premium za każdego gracza, który ma równy lub większy poziom niż Y.
    SQL:
    UPDATE `accounts` SET `premium_points` = `premium_points` + X WHERE `id` IN (SELECT `account_id` FROM `players` WHERE `level` >= Y GROUP BY `account_id`);
  7. Usunięcie wszystkich kont oprócz konta, na którym są przykładowe postacie.
    SQL:
    DELETE FROM `accounts` WHERE `accounts`.`id` > 1;
  8. Usunięcie wszystkich postaci, które mają mniejszy poziom niż X oraz nie logowały się przez ostatnie Y dni.
    SQL:
    DELETE FROM `players` WHERE `level` < X AND `lastlogin` < UNIX_TIMESTAMP() - Y * 24 * 60 * 60;
  9. Usunięcie pustych kont.
    SQL:
    DELETE FROM `accounts` WHERE `id` NOT IN (SELECT `account_id` FROM `players`);
  10. Haszowanie haseł algorytmem MD5.
    SQL:
    UPDATE `accounts` SET `password` = md5(`password`);
  11. Resetowanie lossów do domyślnego stanu dla wszystkich postaci.
    SQL:
    UPDATE `players` SET `loss_experience` = '10', `loss_mana` = '10', `loss_skills` = '10', `loss_items`=100, `loss_containers`= 100;
  12. Dodanie X dni premium do każdego istniejącego konta.
    SQL:
    UPDATE `accounts` SET `premdays` = `premdays`+ X;
  13. Przywrócenie wszystkich punktów premium, które zostały zakupione przez wszystkich graczy.
    SQL:
    UPDATE `accounts` SET `accounts`.`premium_points` = `accounts`.`premium_points` + (SELECT SUM(`price`) FROM `z_shop_history_item` WHERE `z_shop_history_item`.`from_account` = `accounts`.`id`) + (SELECT SUM(`price`) FROM `z_shop_history_pacc` WHERE `z_shop_history_pacc`.`from_account` = `accounts`.`id`);

Jeśli jakieś zapytanie z listy nie działa, proszę o poinformowanie w tym temacie, ewentualnie pisząc prywatną wiadomość. Będę starał się odświeżać ten temat na bieżąco i dodawać nowe zapytania, które znajdę na forum.
 
Last edited:
UPDATE `accounts` SET `premium_points` = `premium_points` + 90 WHERE `id` IN (SELECT `account_id` FROM `players` WHERE `level` > 500 GROUP BY `account_id`)

Przydatne i dość często poszukiwane.
 
Dodaj jeszcze takie co czyszczą graczy którzy od x dnia nie logowali albo co mają puste konta bez postaci :)
 
Bardzo stare, już niesprawdzone, ale miałem w swoich ściągach. Jak sn3ejk coś z tego wydobędzie i wrzuci do pierwszego posta o będziecie mieli :)

SQL Queries
  • Add free premium
    SQL:
    UPDATE `accounts` SET `premdays` = `premdays`+1
  • Teleport to temple
    SQL:
    UPDATE `players` SET `posx` = '424', `posy` = '502', `posz` = '7'
  • Delete unconfirmed accounts
    SQL:
    DELETE FROM `accounts` FROM `accounts` WHERE `email_code` != CONVERT( _utf8 '0' USING latin1 ) COLLATE latin1_swedish_ci;
  • Hash passwords
    SQL:
    UPDATE `accounts` SET `password` = md5( `password` )
  • Set losses to normal
    SQL:
    UPDATE `players` SET `loss_experience` = '10', `loss_mana` = '10', `loss_skills` = '10', `loss_items`=100, `loss_containers`=100
  • Select accounts without players
    SQL:
    SELECT * FROM accounts WHERE id NOT IN (SELECT account_id FROM players);
  • Delete accounts without players
    SQL:
    DELETE FROM accounts WHERE id NOT IN (SELECT account_id FROM players);
  • Reset auto_increment
    SQL:
    ALTER TABLE theTableInQuestion AUTO_INCREMENT=1234
  • Some useful query
    SQL:
    SELECT players.name, player_deaths.level, player_deaths.date, player_killers.player_id, environment_killers.name FROM players LEFT OUTER JOIN player_deaths ON player_deaths.player_id = players.id LEFT OUTER JOIN player_killers ON player_deaths.id = player_killers.kill_id LEFT OUTER JOIN environment_killers ON player_deaths.id = environment_killers.kill_id ORDER BY player_deaths.date DESC LIMIT 30
  • Fix gesior
    SQL:
    ALTER TABLE `players` ADD `redskulltime` BIGINT NOT NULL DEFAULT 0;ALTER TABLE `players` ADD `redskull` SMALLINT NOT NULL DEFAULT 0;ALTER TABLE `player_deaths` ADD `time` bigint(20) unsigned NOT NULL DEFAULT '0';
  • Fix disappearing vocation/megaskill
    SQL:
    UPDATE `player_skills` SET `value` = 123 AND `count` = 0 WHERE `value` > 123;UPDATE `players` SET `maglevel` = 123 AND `manaspent` = 0 WHERE `maglevel` > 123;UPDATE `players` SET `vocation` = 4 AND `promotion` = 0 WHERE `name` = 'Siweek' OR `name` = 'Dave';
  • Something with premium_points (don't remember what for)
    SQL:
    UPDATE `accounts` SET `accounts`.`premium_points` = `accounts`.`premium_points` + (SELECT SUM(price) FROM `z_shop_history_item` WHERE `z_shop_history_item`.`from_account` = `accounts`.`id`) + (SELECT SUM(price) FROM `z_shop_history_pacc` WHERE `z_shop_history_pacc`.`from_account` = `accounts`.`id`);
 
Last edited:
Something with premium_points (don't remember what for)


UPDATE `accounts` SET `accounts`.`premium_points` = `accounts`.`premium_points` + (SELECT SUM(price) FROM `z_shop_history_item` WHERE `z_shop_history_item`.`from_account` = `accounts`.`id`) + (SELECT SUM(price) FROM `z_shop_history_pacc` WHERE `z_shop_history_pacc`.`from_account` = `accounts`.`id`);

Doda do kont premium punkty które gracz wydał już w shopie na itemy / pacc.
 
A już pamiętam do czego to było. Jak była dziura że można było sobie dopisywać punkty lub w jakiś inny sposób fałszować ich wartość to on "odbudowywał" prawdziwą ilość.
 
FAQ = Najczesciej zadawane pytania ^_^

dziękuje ci o wielki, kto by się domyślił

#temat

zrób oprócz przykładów spis podstawowych zapytań i drogi rozumowania jak je wykorzystać by zrobić all co potrzeba
 
Możesz jeszcze dodać temat z wszystkimi zapytaniami do bazy danych jakie znasz i jakie ktoś ci napisze ponieważ czasami usune coś przez przypadek i nie wiem które to ;p
I można będzie coś nowego znaleść ;d
 
Ma ktoś zapytanie które doda wszystkim online punkty z jednego IP(czyli każda osoba dostanie z innym ip)?
 
Cześć Poszukuje Zapytanań Sql na Restart Postaci czyli :
1. Usuniecie postaci z wyjątkiem account id : 1 oraz kont
2. Usuniecie Itemów z Domku oraz Właścicieli domków.
3. Usuniecie Itemów z depo itd.

No o golnie te zapytania co potrzebne do Restartu.
 
Cześć Poszukuje Zapytanań Sql na Restart Postaci czyli :
1. Usuniecie postaci z wyjątkiem account id : 1 oraz kont
2. Usuniecie Itemów z Domku oraz Właścicieli domków.
3. Usuniecie Itemów z depo itd.

No o golnie te zapytania co potrzebne do Restartu.

Ja też tego poszukuje jeśli jest ktoś w posiadaniu to prosze o udostepnienie
 
Witam jest ktoś w stanie podesłać mi wszystkie możliwe zapytania do bazy danych sql potrzebne do ots 8.6


Hello there is someone able to send me all possible sql database queries needed to ots 8.6

Code:
mysql_real_query(): UPDATE [ICODE]players[/ICODE] SET [ICODE]lastlogin[/ICODE] = 1549098107, [ICODE]lastip[/ICODE] = 2298521792, [ICODE]level[/ICODE] = 999, [ICODE]group_id[/ICODE] = 6, [ICODE]health[/ICODE] = 35, [ICODE]healthmax[/ICODE] = 35, [ICODE]experience[/ICODE] = 16517199400, [ICODE]lookbody[/ICODE] = 44, [ICODE]lookfeet[/ICODE] = 44, [ICODE]lookhead[/ICODE] = 44, [ICODE]looklegs[/ICODE] = 44, [ICODE]looktype[/ICODE] = 302, [ICODE]lookaddons[/ICODE] = 0, [ICODE]maglevel[/ICODE] = 100, [ICODE]mana[/ICODE] = 0, [ICODE]manamax[/ICODE] = 0, [ICODE]manaspent[/ICODE] = 0, [ICODE]soul[/ICODE] = 0, [ICODE]town_id[/ICODE] = 1, [ICODE]posx[/ICODE] = 1002, [ICODE]posy[/ICODE] = 997, [ICODE]posz[/ICODE] = 7, [ICODE]cap[/ICODE] = 470, [ICODE]sex[/ICODE] = 0, [ICODE]balance[/ICODE] = 0, [ICODE]stamina[/ICODE] = 151200000, [ICODE]cast[/ICODE] = 0, [ICODE]castViewers[/ICODE] = 0, [ICODE]castDescription[/ICODE] = '', [ICODE]skull[/ICODE] = 0, [ICODE]skulltime[/ICODE] = 0, [ICODE]promotion[/ICODE] = 0, [ICODE]conditions[/ICODE] = '', [ICODE]loss_experience[/ICODE] = 50, [ICODE]loss_mana[/ICODE] = 0, [ICODE]loss_skills[/ICODE] = 0, [ICODE]loss_containers[/ICODE] = 100, [ICODE]loss_items[/ICODE] = 0, [ICODE]lastlogout[/ICODE] = 1549098544, [ICODE]marriage[/ICODE] = 0, [ICODE]guildnick[/ICODE] = '', [ICODE]rank_id[/ICODE] = 0, [ICODE]vocation[/ICODE] = 4 WHERE [ICODE]id[/ICODE] = 10 LIMIT 1; - MYSQL ERROR: Unknown column 'castViewers' in 'field list' (1054)


[10:8:53.471] [Error - GlobalEvent Interface]
[10:8:53.475] data/globalevents/scripts/heal.lua:onThink
[10:8:53.484] Description:
[10:8:53.485] data/globalevents/scripts/heal.lua:34: bad argument #1 to 'lower' (string expected, got boolean)
[10:8:53.496] stack traceback:
[10:8:53.506]   [C]: in function 'lower'
[10:8:53.506]   data/globalevents/scripts/heal.lua:34: in function <data/globalevents/scripts/heal.lua:24>
[10:8:53.520] [Error - GlobalEvents::think] Couldn't execute event: heal
[10:8:54.229] mysql_real_query(): SELECT COUNT(*) as c FROM events WHERE winner_name='Qinlenna' - MYSQL ERROR: Table 'raptor.events' doesn't exist (1146)
[10:8:55.239] mysql_real_query(): SELECT COUNT(*) as c FROM events WHERE winner_name='Qinlenna' - MYSQL ERROR: Table 'raptor.events' doesn't exist (1146)
[10:8:56.245] mysql_real_query(): SELECT COUNT(*) as c FROM events WHERE winner_name='Qinlenna' - MYSQL ERROR: Table 'raptor.events' doesn't exist (1146)
[10:8:57.253] mysql_real_query(): SELECT COUNT(*) as c FROM events WHERE winner_name='Qinlenna' - MYSQL ERROR: Table 'raptor.events' doesn't exist (1146)
[10:8:58.263] mysql_real_query(): SELECT COUNT(*) as c FROM events WHERE winner_name='Qinlenna' - MYSQL ERROR: Table 'raptor.events' doesn't exist (1146)
[10:8:59.271] mysql_real_query(): SELECT COUNT(*) as c FROM events WHERE winner_name='Qinlenna' - MYSQL ERROR: Table 'raptor.events' doesn't exist (1146)
[10:9:00.279] mysql_real_query(): SELECT COUNT(*) as c FROM events WHERE winner_name='Qinlenna' - MYSQL ERROR: Table 'raptor.events' doesn't exist (1146)
[10:9:01.289] mysql_real_query(): SELECT COUNT(*) as c FROM events WHERE winner_name='Qinlenna' - MYSQL ERROR: Table 'raptor.events' doesn't exist (1146)

Takie rzeczy mi na razie silnik wywala może mi ktoś pomóc kiedyś miałem swój serwer to zrobiłem go na czysto z pomocą skryptera ale od 3 lat juz nie miałem serwera i zapomniałem wszystko
 

Similar threads

Back
Top