Multiple Statements with MySQL and JDBC
By Pete Freitag
Cameron Childress pointed out the
allowMultiQueries setting in the MySQL JDBC driver on the CFGURU list. It is set to false by default to protect you from SQL Injection attacks. When set to true MySQL will allow multiple SQL statements (separated by a semi-colon) to be executed in a single
CFQUERY tag. If you need to run multiple statements in a single
CFQUERY, Dave Watts suggested creating another datasource with this setting turned on, which is only to be used when your running multiple statements.
But don't let this stop you from using prepared statements with
CFQUERYPARAM, just because MySQL is safe by default - it is still a best practice, adds performance and type safety. Using
allowMultiQueries=false will only prevent a very small subset of SQL Injection attacks.
Multiple Statements with MySQL and JDBC was first published on May 16, 2005.
If you like reading about mysql, jdbc, cfguru, cfqueryparam, prepared statements, or cfquery then you might also like:
- Prepared Statements in PHP and MySQL
- Is it necessary to cfqueryparam all values?
- Communications link failure MySQL JDBC with TLS
- MySQL JDBC Load Balancing with MySQL Cluster