Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Posso executar várias consultas separadas por ponto e vírgula com o MySQL Connector/J?


Usando ; em uma consulta para a maioria dos bancos de dados não funciona, pois geralmente não faz parte da sintaxe da instrução em si, mas um terminador para linha de comando ou entrada de script para instruções separadas. A linha de comando ou processador de script vê um ponto e vírgula como o sinal de que a instrução está completa e pode ser enviada ao servidor.

Além disso, em JDBC, uma única instrução prepare (ou execute) deve ser apenas um instrução real, portanto, várias instruções não são permitidas e, portanto, também não há necessidade de ter um ponto e vírgula e, como para alguns (a maioria?) de bancos de dados, o ponto e vírgula não faz parte da sintaxe da instrução, é simplesmente um erro de sintaxe ter um incluído.

Se você deseja executar várias instruções, você precisa usar execuções separadas. Tecnicamente, o MySQL tem uma opção para suportar múltiplas execuções que podem ser habilitadas por uma propriedade de conexão. Esse comportamento não é compatível com a especificação/API JDBC e torna seu código menos portátil. Consulte allowMultiQueries em Nomes de classe de driver/fonte de dados, Sintaxe de URL e propriedades de configuração para Connector/J