2016-08-12 13 views
5

kiedy uruchomić wybraną statment jakMySQL zwraca kolumna typ dziesiętny lub bigint gdy uruchamiam „Wybierz 0 AS COL ..”

SELECT 0 AS COL FROM MYTABLE .. 

Dwa różne instalacja mysql zwraca różne typy danych. Jeden zwraca BIGINT drugi to DECIMAL. w obu przypadkach jest taki sam sterownik JDBC i com.mysql.jdbc.Driver 5,1

wersje serwerowe: 01.05.69-community (zwraca BIGINT) 05.06.31 (wraca po przecinku)

Czy jest jakaś różnica konfiguracja ? Muszę uzyskać BIGINT zarówno dla dwóch instalacji. czy jest bezpośrednio związany z wersją mysql?

+0

Czy używasz JDBC? Jeśli tak, to oczekiwałbym, że będzie to zależało od wersji JDBC, której używasz (prawdopodobnie jest to zapewnione przez MySQL). –

+0

@ V. V.V. tak jej jdbc com.mysql.jdbc.Driver 5.1 – bahtiyartan

+1

Wersja 5.1.69 ukazała się 18 kwietnia 2013. Czas na uaktualnienie? –

Odpowiedz

2

Można wymusić problem z

select CAST(0 AS UNSIGNED INTEGER) AS COL 

liczb całkowitych bez znaku pojawi się na drucie jak BIGINTs.

+0

Tak, są różne wersje: Jednym z nich jest 01.05.69-community (powraca bigint) 6.5.31 (powraca po przecinku) – bahtiyartan

+0

jest ok, ale nie ma zbyt wiele punktów w mojej aplikacji, która wykorzystuje Wybierz 0 AS. Nie można zmienić wszystkiego w rozsądnym czasie. – bahtiyartan

Powiązane problemy