Java i MySQL

0

Witam, mam program który łączy się z bazą i pobiera z niej dane, i w linijce
private static final String updateCeny=
"update books " + "set price=price + ? "+
" where books.publisher_id=(select publisher_id from publishers where name=?)";
gdzie jest
(select publisher_id from publishers where name=?)
wyrzuca mi błąd??
Czy można to zapytanie zrobić inaczej??

0

witam

"update books " + "set price=price + ? "+
" where books.publisher_id=(select publisher_id from publishers where name=?)";

Zgaduje ,że chcesz wykonac akcję update dla kazdego publisher_id z tabeli books
, który wystepuje także w zbiorze:
" select publisher_id from publishers where name=?"

Jesli tak ,spróbuj :

"update books " + "set price=price + ? "+
" where books.publisher_id IN (select publisher_id from publishers where name=?)";

0

Próbowałem już tak ale nic, prawdopodobnie mysql nie obsługuje podzapytań. Czy mógłbyś polecić jakąś inną bazę, jeżeli na jakiejś pracujesz, gdzie mogę ją dostać i Drivery do niej?? Dzięki

0

Podzapytania w mysql działają zdaje sie od wersji 4.

Co do innej bazy to polecam postgresql .

Sterownika tutaj poszukaj
http://jdbc.postgresql.org/

0

Tak, znalazłem w książce, że podzapytania własnie są obsługiwane od wersji 4.1... , już wszystko działa. Dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1