Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySql]Problem z wgraniem bazy danych
DziobaX
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 23.03.2011

Ostrzeżenie: (0%)
-----


Witam. Z początku chciałbym powiedzieć, że raczkuje dopiero w programowaniu itp. Mam pewien problem, ponieważ chciałem zainstalować silnik gry na domowym serwerze Krasnal 2.7(próbowałem to w WebServ i to samo), wszystko ładnie, pięknie póki nie przyszło na wgranie bazy MySql. Zrobiłem nową bazę i klikam SQL i zapodaje plik .sql(program to phpMyAdmin) i po wykonaniu wywala błąd:

Kod
zapytanie SQL:

SET @saved_cs_client = @ @character_set_client

MySQL zwrócił komunikat: Dokumentacja
#1193 - Unknown system variable 'character_set_client'

i w związku z tym jak to naprawić? Dodam jeszcze, że wgrywałem to na normalny serwer WWW i wszystko poszło sprawnie.
Z góry dzięki. Rafał
Go to the top of the page
+Quote Post
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Spróbuj albo zaimportować w trybie zgodności albo znajdź tę linijkę w importowanym pliku i ją zakomentuj dodając na początku -- (dwa minusy)
Go to the top of the page
+Quote Post
DziobaX
post
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 23.03.2011

Ostrzeżenie: (0%)
-----


Niestety takiej opci jak tryb zgodności w wersji domowej phpMyAdmin nie znalazłem, a ta "zepsuta" linijka jest co kilka zdań a ich naprawdę jest dużo. Czekam na dalszą pomoc.
Go to the top of the page
+Quote Post
darko
post
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


To replace w jakimś edytorze i zamieniasz automatycznie wszystkie wiersze na identyczne tylko poprzedzone komentarzem. Jaką masz wersją pma? Jakoś nie wierzę, że nie ma tej opcji, zawsze była w sekcji Import i na dole Format importowanych plików. Spójrz na suggested fix, radzą dokładnie to samo (tylko poprzez analogiczny zapis /* oraz */ ), czyli zakomentowanie tych linii (i raczej import w trybie zgodności nic tutaj nie da).
Go to the top of the page
+Quote Post
DziobaX
post
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 23.03.2011

Ostrzeżenie: (0%)
-----


Zrobiłem tak jak mówiłeś, czyli wstawiłem replace i -- we wszystkich liniach , ale znowu wyskakuje coś takiego, może niektóre linie niepotrzebnie potraktowałem tymi minusami
Kod
zapytanie SQL:

- - SET @saved_cs_client = @ @character_set_client

MySQL zwrócił komunikat: Dokumentacja
#1064 - Something is wrong in your syntax obok '--SET @saved_cs_client     = @@character_set_client' w linii 1
Go to the top of the page
+Quote Post
darko
post
Post #6





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


hmm, wrzuć gdzieś oryginalny plik, żeby można było pobrać, sprawdzę, co się dzieje. I podaj wersję serwera mysql jaki masz w domu.

Ten post edytował darko 24.03.2011, 17:17:53
Go to the top of the page
+Quote Post
DziobaX
post
Post #7





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 23.03.2011

Ostrzeżenie: (0%)
-----


Proszę: Klik , a pma chyba stara bo z krasnalem 2.7, ale w webservie bylo to samo, jest to wersja 2.6.0
Go to the top of the page
+Quote Post
darko
post
Post #8





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


standardowy import:
Cytat
Błąd

Zapytanie SQL:

CREATE TABLE `positions` (
`ID` int( 11 ) NOT NULL AUTO_INCREMENT ,
`type` varchar( 255 ) default NULL ,
`short_description` varchar( 255 ) default NULL ,
`long_description` longtext,
`players_positionID` varchar( 255 ) default NULL ,
`statistic_categories_group` varchar( 255 ) default NULL ,
`statistic_categories_group_long` varchar( 255 ) default NULL ,
`include_in_roster_requirements` tinyint( 3 ) default '1',
PRIMARY KEY ( `ID` ) ,
KEY `positionID_group_long` ( `players_positionID` , `statistic_categories_group` , `statistic_categories_group_long` )
) TYPE = MYISAM AUTO_INCREMENT =16;

MySQL zwrócił komunikat: Dokumentacja
#1071 - Specified key was too long; max key length is 1000 bytes


PMA 3.3.7deb5

Zobacz wątek tutaj: http://forums.phplist.com/viewtopic.php?=&p=27451 wyjaśniono tam, dlaczego tak się dzieje. Chodzi o to, że w kodowaniu utf-8 każdy znak jest liczony jako 3 bajty, więc indeks zbudowany na podstawie pól długości 255 i 255 oraz 255 razy 3 daje w sumie 2295 bajtów i przekracza dozwoloną wartość 1000. Rozwiązanie to zmiana kodowania bazy i ustawienia kodowania importu na np. ASCII lub latin, u mnie import zakończył się sukcesem w trybie ascii. Jest to ewidentny błąd projektanta bazy.

// edit
alternatywnym rozwiązaniem tylko w przypadku konieczności zachowania kodowania utf-8 jest zmiana struktury klucza i założenie go na tylko jedno z tych pól (255 x 3 = 765 < 1000 więc OK) ale uwaga, może to mieć negatywny wpływ na zachowanie bazy i należałoby tutaj zachować szczególną ostrożność.

Ten post edytował darko 25.03.2011, 20:24:30
Go to the top of the page
+Quote Post
DziobaX
post
Post #9





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 23.03.2011

Ostrzeżenie: (0%)
-----


Dzięki wielkie darko, bez Ciebie bym sobie nie poradził.
Go to the top of the page
+Quote Post
byczkins
post
Post #10





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 8.01.2011

Ostrzeżenie: (0%)
-----


Witam, mam taki problem. Chce zaimportowac baze danych przez pma, ale wyskakuje taki błąd

  1. Błąd
  2.  
  3. Zapytanie SQL:
  4.  
  5. --
  6. -- Baza danych: `smartmedia24`
  7. --
  8. -- --------------------------------------------------------
  9. --
  10. -- Struktura tabeli dla `modx_active_users`
  11. --
  12. DROP TABLE IF EXISTS `modx_active_users` ;
  13.  
  14. MySQL zwrócił komunikat: Dokumentacja
  15. #1046 - No database selected


Jak to naprawic ? W czym tkwi błąd ?
Go to the top of the page
+Quote Post
darko
post
Post #11





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


@byczkins najpierw wybierz bazę, do której chcesz zaimportować dane.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 20:14