/ / Dlaczego nie mogę ustawić zmiennej w przygotowanej instrukcji w MySQL? - java, mysql, jdbc, przygotowane-instrukcja

Dlaczego nie mogę ustawić zmiennej w przygotowanej instrukcji w MySQL? - java, mysql, jdbc, gotowe oświadczenie

Korzystam ze skryptu, aby wstawić niektóre dane do bazy danych MySQL i działa poprawnie w środowisku roboczym MySQL. Jednak gdy próbuję uruchomić go z Javy za pośrednictwem JDBC, pojawia się błąd. Skrypt:

INSERT INTO `pa_record` (`username`, `pa_record_type`, `record_time`) VALUES (?, ?, CURRENT_TIMESTAMP);
SET @record_id := 1;
INSERT INTO `pa_crud` (`pa_record_id`, `table_name`) VALUES (@record_id, ?);

Wystąpił błąd z JDBC

Wystąpił błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL, czy używasz właściwej składni w pobliżu „SET @record_id: = 1; WŁÓŻ W pa_crud (pa_record_id, table_name) WARTOŚCI ”w wierszu 2

Jakieś pomysły?

Odpowiedzi:

1 dla odpowiedzi № 1

Wiele (większość?) Bibliotek dostępu do bazy danych nie zezwala na wiele instrukcji w jednym wykonaniu; te, które to robią, zwykle wymagają aktywacji funkcji wraz ze zmianą ustawienia. Prawdopodobnie nie narzeka na SET, ale że w ogóle miałeś coś po zakończeniu pierwszego zapytania.