Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wyjątek składni na wyzwalaczu z wieloma instrukcjami z MySQL i JDBC

To zachowanie może być spowodowane przez właściwość połączenia allowMultiQueries=true . Domyślam się, że ta właściwość sprawi, że MySQL rozbije zapytania na ; jako separatora zapytań, a następnie wykonaj je jako oddzielne zapytania, zasadniczo łamiąc kod tworzenia wyzwalacza.

Jak powiedziałeś w - teraz usunięty - odpowiedz, że dodanie allowMultiQueries=true faktycznie rozwiązałem problem (wbrew moim oczekiwaniom), problem może faktycznie dotyczyć ostatniego ; w zapytaniu. Więc inną rzeczą do sprawdzenia jest to, czy problem zniknie, usuwając ostatni ; (w END; ) w skrypcie (i nie używając allowMultiQueries=true ). Niektóre bazy danych nie uwzględniają ; obowiązywać na końcu wyrażenia (ponieważ w rzeczywistości jest separatorem oddzielnych stwierdzeń).

(ta odpowiedź jest oparta na moim komentarzu powyżej)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Obsługa przyjaznego SEO adresu URL ze znakami innymi niż angielskie

  2. Ustaw dane binarne za pomocą setblob w łączniku mysql/c++ powoduje awarię

  3. gdzie edytować pełnotekstowe listy stopword mysql?

  4. Jak włączyć operatora konkatenacji potoków w MySQL?

  5. java.lang.ClassNotFoundException:com.mysql.jdbc.Driver (maven + jboss)