Marcin Ważny

Marcin Ważny Student, Wyższa
Szkoła Informatyki i
Zarządzania w
Rzeszowie

Temat: insert ... select

Witam

Mam pytanie jestem nieco początkujący w JAVA i mam dziwny problem z zapytaniem do mysql. Chodzi o to, że do zapytania insert potrzebuje kilka danych wybrać sobie z innej tabeli i nie chcę rozbijać tego na dwa zapytania tylko chciałem to zrobić standardowo w jednym zapytaniu, czyli insert z select. I okazuje się, że w Java to nie działa. Próbowałem już na kilkanaście sposobów i nic. Uprościłem zapytanie do maximum i też nic, po prostu insert z select mi nie chce zadziałać mimo, iż bezpośrednio na bazie działa bez zarzutów.

Proszę o podpowiedzi
Pozdrawiam
MarcinMarcin Ważny edytował(a) ten post dnia 14.06.10 o godzinie 20:43
Maciej Nowicki

Maciej Nowicki Java Developer

Temat: insert ... select

Prawdopodobnie masz błąd gdzieś w kodzie, wklej kawałek w którym robisz to zapytanie.

Nie napisałeś też nic o tym, jaki komunikat dostajesz. Leci wyjątek? Wszystko wykonuje się bez problemu, tylko danych w bazie potem nie widać?

Może masz autocommit ustawiony na false i tabele innoDB?
Marcin Ważny

Marcin Ważny Student, Wyższa
Szkoła Informatyki i
Zarządzania w
Rzeszowie

Temat: insert ... select

Jak wykonuje bezpośrednio w CLI to działa więc raczej silnik tabel ma tu małe znaczenie, ale w tym przypadku zastosowany MyISAM. autocommit ustawiony na 1 (true). Dla ścisłości zapytanie nie jest transakcją jest to zapytanie z podzapytaniem.

Uproszczony przykład zapytania, z którym mam problem:

INSERT INTO tabela1 (kolumna1,kolumna2) select kolumna,inna_kolumna from tabela2 where jeszcze_inna_kolumna="pewna wartosc";

Zapytanie oryginalne jest troche bardziej zawiłe bo w select mam troche przeliczeń, ale to już nieważne bo sprawdzałem też na takim banalnym przykładzie jak powyżej i też nie działa. Nie działa czyli nie wywala żadnego errora, ani nawet wyjątku, tylko po prostu nie ładuje danych do tabeli, to samo zapytanie wykonywane z poziomu mysql cli działa bez zarzutu.

Pozdrawiam
MarcinMarcin Ważny edytował(a) ten post dnia 14.06.10 o godzinie 22:55
Tomasz Niewolik

Tomasz Niewolik
Programista/Projekta
nt

Temat: insert ... select

Wklej kod Java i błąd jaki Ci wyskakuje. Bez tego nic się nie da zrobić.

Następna dyskusja:

[JPA] if in select ?




Wyślij zaproszenie do