Mysql session variable in JDBC string

am using this connection string to connect to mysql from java:

jdbc:mysql://localhost:3306/db?noDatetimeStringSync=true&useUnicode=yes&characterEncoding=UTF-8

Is it possible to set a session variable in a string to be SET UNIQUE_CHECKS=0;executed when connecting to a server? obvious

jdbc:mysql://localhost:3306/db?noDatetimeStringSync=true&useUnicode=yes&characterEncoding=UTF-8&unique_checks=0

doesn't seem to work on the assumption that

"JDBC: MySQL: // local: 3306 / db noDatetimeStringSync = true & useUnicode = yes & characterEncoding = UTF-8 & unique_checks = blahblah`

does not generate any errors.

Hurrah!

+3
source share
5 answers

How about using sessionVariables:

 jdbc:mysql://localhost:3306/db?noDatetimeStringSync=true&useUnicode=yes&characterEncoding=UTF-8&sessionVariables=unique_checks=0
+7
source

Your question, therefore, is more "How can I instantiate strings in Java?"

, +:

int uniqueChecks = 0; // Assign session variable here.
String url = "jdbc:mysql://localhost:3306/db?unique_checks=" + uniqueChecks;

String#format(), %d :

int uniqueChecks = 0; // Assign session variable here.
String url = String.format("jdbc:mysql://localhost:3306/db?unique_checks=%d", uniqueChecks);
+1

Statement.execute() , , SET -statement.

URL , JDBC- , . , (, autocommit - ).

+1

BalusC, ! Talend etl ( Java), , , "jdbc: mysql://localhost: 3306/db? noDatetimeStringSync = true & useUnicode = yes & characterEncoding = UTF-8", Java:

String url_tMysqlBulkExec_1 = "jdbc:mysql://"
+ "localhost" +
":" 
+ "3306" 
+ "/" 
+ "db" 
+ "?" 
+ "noDatetimeStringSync=true&useUnicode=yes&characterEncoding=UTF-8&unique_checks=0";

, , .

0

mysql docs, unique_checks, , , URL (Joachim, , , "URL-" - Google:)

0

Source: https://habr.com/ru/post/1722341/


All Articles