Multiple Statements with MySQL and JDBC
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.
Like this? Follow me ↯Tweet Follow @pfreitag
You might also like:
- Prepared Statements in PHP and MySQL - May 16, 2005
- Is it necessary to cfqueryparam all values? - November 13, 2019
- Communications link failure MySQL JDBC with TLS - July 1, 2019
- MySQL JDBC Load Balancing with MySQL Cluster - November 28, 2008
- Mastering CFQUERYPARAM - July 24, 2008