Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Łączenie 2 baz danych w 1


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
10 odpowiedzi w tym temacie

#1 NEQU#

    Wszechpomocny

  • Użytkownik

Reputacja: 54
Pomocny

  • Postów:363
  • GG:
Offline

Napisano 20.09.2016 09:27

Witam, potrzebuję połączyć 2 bazy danych mysql, tak aby dane z 1 dopisało do 2, jeżeli znajdą się 2 osoby o tym samym nicku, powinno nadpisać wartości mniejsze większymi(np. w bazie 1 gracz posiada "5" expa, w 2 gracz o tym samym nicku posiada 10 expa, przy próbie przeniesienia danych z 1 do 2 powinno zostawić gracza z wartością większą(10). Ktoś wie, w jaki sposób mogę to zrobić?


Użytkownik NEQU# edytował ten post 20.09.2016 09:28

  • +
  • -
  • 0

#2 tytusek

    Czempion

  • Power User

Reputacja: 229
Wszechwidzący

  • Postów:822
Offline

Napisano 20.09.2016 15:41

jakimś programem do zarządzania mysql, tak mi się wydaje 

 

proponuje poszukać na google albo czekać na kogoś kto już to robił i mu się udało


  • +
  • -
  • 0

#3 MaxioR

    Wszechpomocny

  • Użytkownik

Reputacja: 83
Zaawansowany

  • Postów:352
  • Lokalizacja:Poland
Offline

Napisano 20.09.2016 18:22

w phpmyadmin eksportuj jedna baze do pliku, a następnie importuj ją do kolejnej bazy.

Polecam wykonać kompie obu baz dancyh.

 

PS Polecam sprawdzić tą strone http://www.sql-kursy...n-except-2.html


  • +
  • -
  • 0

#4 NEQU#

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 54
Pomocny

  • Postów:363
  • GG:
Offline

Napisano 20.09.2016 21:36

w phpmyadmin eksportuj jedna baze do pliku, a następnie importuj ją do kolejnej bazy.

Polecam wykonać kompie obu baz dancyh.

 

PS Polecam sprawdzić tą strone http://www.sql-kursy...n-except-2.html

Zwykły import raczej nie przejdzie, ze względu na wymagania - przy 2 takich samych nickach, większe wartości mają nadpisać mniejsze.


  • +
  • -
  • 0

#5 Ogen Dogen

    Czempion

  • Power User

Reputacja: 261
Wszechwidzący

  • Postów:837
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 24.09.2016 01:15

Sam MySQL raczej nie ma takich narzędzi.

Potrzebujesz napisać aplikację lub skrypt (chociażby w PHP), który pobierze dane z dwóch baz do tablic, przefiltruje je odpowiednio wg. twojego warunku, zapisze wynik do nowej tablicy a następnie na jej podstawie stworzy nową tabelę lub zaktualizuje jedną z nich.

Moja propozycja algorytmu na szybko :P Chyba że są jakieś gotowe narzędzia do takich zadań ?


  • +
  • -
  • 0

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#6 NEQU#

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 54
Pomocny

  • Postów:363
  • GG:
Offline

Napisano 24.09.2016 20:12

Ktoś podejmie się napisania takiego skryptu? 


  • +
  • -
  • 0

#7 Engi

    [EKSiD] playaz44

  • Power User

Reputacja: 315
Wszechpomocny

  • Postów:1 071
  • GG:
  • Imię:Seba
  • Lokalizacja:Praga
Offline

Napisano 25.09.2016 02:44

Podeślij strukturę baz.


  • +
  • -
  • 0
Użytkowniku! Zanim napiszesz wiadomość wiedz, że:

W odpowiedzi na ten status, przejrzałem kilka ostatnich Twoich postów i dodałem Ci kolejne 3 punkty ostrzeżeń. Mam nadzieję, że pomogłem.

1:0 dla Benia :D
Nie pomagam za darmo na pw.

#8 NEQU#

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 54
Pomocny

  • Postów:363
  • GG:
Offline

Napisano 26.09.2016 16:05

Podeślij strukturę baz.

public sql_start()
{
	if ( !get_pcvar_num(p_Enabled) || !get_pcvar_num(save_type) )
		return;
		
	if(g_boolsqlOK) return;
	
	new szHost[64], szUser[32], szPass[32], szDB[128];
	
	get_pcvar_string( mysqlx_host, szHost, charsmax( szHost ) );
	get_pcvar_string( mysqlx_user, szUser, charsmax( szUser ) );
	get_pcvar_string( mysqlx_pass, szPass, charsmax( szPass ) );
	get_pcvar_string( mysqlx_db, szDB, charsmax( szDB ) );
	
	g_SqlTuple = SQL_MakeDbTuple(szHost, szUser, szPass, szDB);
		
	new q_command[2048]
	
	new iLen=0, iMax=sizeof(q_command) - 1
	
	iLen += formatex(q_command[iLen], iMax-iLen,"CREATE TABLE IF NOT EXISTS zm_expp ( ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`nick` VARCHAR(48) NOT NULL, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`lvl` INT(3) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`exp` INT(9) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`quest_gracza` INT(3) DEFAULT -1, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`ile_juz` INT(9) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`ile_wykonano` INT(9) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`totalpoints` INT(9) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`ammopacks` INT(6) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`dam_done` INT(12) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`zm_kill` INT(6) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`hm_infkill` INT(6) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`deaths` INT(6) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`nem_kill` INT(4) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`sur_kill` INT(4) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`ass_kill` INT(4) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`sni_kill` INT(4) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`matki_kill` INT(4) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`last_hm_kill` INT(4) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`zm_win` INT(6) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`hm_win` INT(6) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`czas_online` INT(6) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`statystyka_1` INT(4) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`statystyka_2` INT(4) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`statystyka_3` INT(4) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`statystyka_4` INT(4) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`statystyka_5` INT(4) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"`statystyka_6` INT(4) DEFAULT 0, ")
	iLen += formatex(q_command[iLen], iMax-iLen,"PRIMARY KEY (`nick`)) ")
	iLen += formatex(q_command[iLen], iMax-iLen,"DEFAULT CHARSET `utf8` COLLATE `utf8_general_ci`")
	
	SQL_ThreadQuery(g_SqlTuple, "QueryCreateTable", q_command);
}
public QueryCreateTable( FailState, Handle:hQuery, szError[ ], Errcode, iData[ ], iDataSize, Float:fQueueTime ) 
{
	if(FailState == TQUERY_CONNECT_FAILED) {
		log_to_file("sql.log", "Could not connect to SQL database.");
		return PLUGIN_CONTINUE;
	}
	if(Errcode) {
		log_to_file("sql.log", "Error on Table query: %s", szError);
		return PLUGIN_CONTINUE;
	}
	if(FailState == TQUERY_QUERY_FAILED) {
		log_to_file("sql.log", "Table Query failed.");
		return PLUGIN_CONTINUE;
	}
	g_boolsqlOK = 1;
	log_to_file("sql.log", "Prawidlowe polaczenie");
	
	set_task(30.0, "wczytaj_statystyki");
	
	return PLUGIN_CONTINUE;
}

Proszę


  • +
  • -
  • 0

#9 NEQU#

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 54
Pomocny

  • Postów:363
  • GG:
Offline

Napisano 20.10.2016 12:45

Jest ktoś chętny do zrobienia tego? jeżeli będzie trzeba to zapłacę.


  • +
  • -
  • 0

#10 KrwioPijca

    Pomocny

  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:59
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Polska
Offline

Napisano 24.10.2016 08:39

Napisz GG


  • +
  • -
  • 1

Żegnam wszystkich.


#11 NEQU#

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 54
Pomocny

  • Postów:363
  • GG:
Offline

Napisano 31.10.2016 16:29

KrwioPijca się postarał

 

/close


  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych