sql >> Database teknologi >  >> RDS >> Mysql

Syntaksundtagelse på trigger med flere sætninger med MySQL og JDBC

Denne adfærd kan være forårsaget af forbindelsesegenskab allowMultiQueries=true . Mit gæt er, at denne egenskab vil få MySQL til at opdele forespørgsler på ; som en forespørgselsseparator, og kør derefter dem som separate forespørgsler, hvilket i det væsentlige bryder din trigger-oprettelseskode.

Som du sagde i et - nu slettet - svar, at tilføjelse af allowMultiQueries=true faktisk løste problemet (i modsætning til min forventning), problemet kan faktisk være det sidste ; i din forespørgsel. Så en anden ting at tjekke er, om problemet forsvinder ved at fjerne den sidste ; (i END; ) i dit script (og ikke bruger allowMultiQueries=true ). Nogle databaser overvejer ikke ; at være gyldig i slutningen af ​​et udsagn (da det faktisk er en afgrænsning til separate udsagn).

(dette svar er baseret på min kommentar ovenfor)



  1. MySQL-forespørgsel med betinget erklæring?

  2. Gem base64-kodet billede til server-side database som BLOB

  3. Insekt? #1146 - Tabel 'xxx.xxxxx' eksisterer ikke

  4. Indsættelse af data i Oracle-database ved hjælp af php