Używanie ;
w zapytaniu dla większości baz danych nie działa, ponieważ zwykle nie jest częścią samej składni instrukcji, ale terminatorem wiersza poleceń lub danych wejściowych skryptu do oddzielnych instrukcji. Linia poleceń lub procesor skryptów widzi średnik jako sygnał, że instrukcja jest kompletna i może zostać wysłana do serwera.
Również w JDBC pojedyncza instrukcja przygotowania (lub wykonania) powinna być tylko jedna rzeczywista instrukcja, więc wielokrotne instrukcje nie są dozwolone i nie ma również potrzeby używania średnika, a w przypadku niektórych (większości?) baz danych średnik nie jest częścią składni instrukcji, jest to po prostu błąd składni mieć jeden w zestawie.
Jeśli chcesz wykonać wiele instrukcji, musisz użyć oddzielnych wykonań. Technicznie rzecz biorąc, MySQL ma opcję obsługi wielu wykonań, które można włączyć za pomocą właściwości połączenia. To zachowanie jest niezgodne ze specyfikacją/API JDBC i sprawia, że kod jest mniej przenośny. Zobacz allowMultiQueries
na Nazwy klas sterowników/źródeł danych, Składnia adresu URL i właściwości konfiguracyjne dla Connector/J