2013-02-27 7 views
23

Używam najnowszej wersji MySQL ==> mysql-5.6.10-winx64.zipKod błędu 1064, stan SQL 42000: Wystąpił błąd w składni SQL;

Utworzono bazę danych i wszystko jest w porządku „myślę” gdy próbuję wykonać tę prostą komendę;

"select * from family" 

mam ten błąd:

Kod błędu 1064, stan SQL 42000: Masz błąd w składni SQL ; należy sprawdzić podręcznika, który odpowiada twojej wersji serwera MySQL dla prawego składnię używaną w pobliżu „option SQL_SELECT_LIMIT = default” na linii 1

spędziłem wiele czasu szukając rozwiązania, ale nie znaleziono rozwiązanie: . (

+5

pokaż wszystkie wykonane kwerendy, nie widzę "OPTION SQL_SELECT_LIMIT = DEFAULT" na kwerendę wyboru. –

+0

czego używasz do wysyłania zapytań do bazy danych? - Brzmi jak GUI/narzędzie może dodawać dodatkowe rzeczy do zapytania przed wykonaniem go – Steve

+0

uruchomić 'show variables gdzie variable_name = 'sql_select_limit';' sprawdź czy jest numeryczne? – SparKot

Odpowiedz

29

to wygląda błędu pochodzących od sterownika JDBC Gdy sterownik JDBC inicjuje połączenie, wysyła kilka poleceń do serwera MySQL, z których jeden jest:

SET OPTION SQL_SELECT_LIMIT=DEFAULT 

problem polega na tym, żeSkładniajest przestarzała przez pewien czas i nie jest już poprawna w MySQL 5.6. Oto istotne rozmowa bug bug z bazy danych MySQL:

Bug #66659: mysql 5.6.6m9 fails on OPTION SQL_SELECT_LIMIT=DEFAULT

Spróbuj zaktualizować sterownik JDBC MySQL. W rozmowie o błędach wymieniono kilka innych opcji na wypadek, gdyby aktualizacja sterownika nie była możliwa.

5

Miałem ten sam problem kilka tygodni temu. Wykonano następujące kroki i bardzo rozwiązano problem.

  1. Skopiowane najnowszą wersję (mysql-connector-java-5.1.23-bin) pliku jar .. \ NetBeans 7.3 \ IDE \ modules \ ext. Moja starsza wersja sterownika to mysql-connector-java-5.1.18-bin.

  2. Zmiana wersji sterownika w IDE NetBeans. W oknie usług IDE rozwiń pozycję Sterowniki -> kliknij prawym przyciskiem myszy MySQL (sterownik złącza/J) i wybierz opcję Dostosuj. Usuń wcześniejszy sterownik i wskaż go na najnowszy (C: \ Program Files (x86) \ NetBeans 7.3 \ ide \ modules \ ext \ mysql-connector-java-5.1.23-bin.jar). Kliknij OK i zrestartuj IDE.

To powinno rozwiązać problem.

+0

Czy to dla mnie była sztuczka ... Dzięki! –

+0

Natknąłem się na podobne prace nad projektem, "mysql"% "mysql-connector-java"% "5.1.26", podstępnie – jasonoriordan

11

Postępowałem zgodnie z instrukcjami powyżej, a to działało dla mnie!

  1. Pobierz najnowszy plik jar stąd: http://dev.mysql.com/downloads/mirror.php?id=412737 rozpakować skopiować pliku jar "mysql-connector-java-5.1.25-bin.jar" do folderu: C: \ Program Files \ NetBeans 7.3 \ ide \ modules \ ext

  2. W Netbeans IDE: Disconnect from database. Kliknij Usługi. Rozwiń sterowniki. Kliknij MySQL prawym przyciskiem myszy i naciśnij Dostosuj. Dodaj najnowszy sterownik Usuń poprzedni sterownik.

  3. Ponownie połączyć z dabatase w IDE.

+0

Ja modyfikowałem serwer Tomcat: Tomcat/lib/ext/mysql.jar, ale poza tym zamiennik sprawił, że działało! – ForgetfulFellow

0

Jeśli sugestia dotycząca sterownika nie działa, sprawdź kod SQL dla znaków niedrukowalnych. Spędziłem tylko godzinę, rozwiązując ten problem, aby odkryć ukrytą postać u + 200b na końcu mojego wyrażenia sql.

0

Wystąpił ten sam błąd podczas usuwania pliku struktury tabeli mysql w DB. Błąd polegał na tym, że składnia odrzucała całą tabelę wcześniej, ale nie sprawdzała ich istnienia w bazie danych. Problem był pod adresem "DROP TABLE usermgmt". Usunąłem ten kod linii zrzutów tabel i tym razem wystąpił błąd.

0

ja prefiksem nazwę tabeli z nazwą bazy danych, takich jak

select * from database_name.table_name; 

i to działało idealnie, więc najprawdopodobniej występuje konflikt nazw.