Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MySql connector j allow user variables

Tags:

java

mysql

jdbc

Please help me to find out how to allow mysql connector j to define user variables and make this code valid:

    Statement s = conn.createStatement();
    s.executeQuery ("set @categoryId := (Select CategoryId from categories order by CategoryId desc LIMIT 1);\n" +
                        "set @categoryId := IF(@categoryId is Null, 1, @categoryId);");

now it throws an exception:

MySQLSyntaxErrorException occured : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'set @categoryId := IF(@categoryId is Null, 1, @categoryId)' at line 2

I know that in .net you can define "Allow User Variables = true" option in connection string. How to do it in java?

like image 712
wassertim Avatar asked Feb 25 '23 22:02

wassertim


1 Answers

I found out how to get it worked. Just set datasource property allowMultiQueries=true

 jdbc:mysql://localhost:3306/DBS?allowMultiQueries=true
like image 200
wassertim Avatar answered Feb 27 '23 11:02

wassertim