Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
捕获MySQL的信息字符串输出-在Java中编码时加载数据填充_Java_Mysql_Batch File - Fatal编程技术网

捕获MySQL的信息字符串输出-在Java中编码时加载数据填充

捕获MySQL的信息字符串输出-在Java中编码时加载数据填充,java,mysql,batch-file,Java,Mysql,Batch File,MySQL文档说: LOAD DATA INFILE语句完成后,将返回以下格式的信息字符串: 记录:1已删除:0已跳过:0警告:0 现在,我想在通过Java代码执行加载数据填充时获得这个信息字符串。这是必要的,因为我必须统计表中插入的数量,以确保我们不会错过任何记录。请注意,我的Java代码没有问题,我需要知道如何捕获此字符串。以下内容将通过JDBC工作。请注意,要使用加载数据填充,您需要超级用户权限。加载数据本地填充时不需要使用它 Connection con = DriverManager.

MySQL文档说:

LOAD DATA INFILE语句完成后,将返回以下格式的信息字符串:

记录:1已删除:0已跳过:0警告:0


现在,我想在通过Java代码执行加载数据填充时获得这个信息字符串。这是必要的,因为我必须统计表中插入的数量,以确保我们不会错过任何记录。请注意,我的Java代码没有问题,我需要知道如何捕获此字符串。

以下内容将通过JDBC工作。请注意,要使用加载数据填充,您需要超级用户权限。加载数据本地填充时不需要使用它

Connection con = DriverManager.getConnection("jdbc:mysql://localhost/foobar", "root", "password");

Statement stmt = con.createStatement();
String sql = 
    "load data infile 'c:/temp/some_data.txt' \n" +
    "   replace \n" +
    "   into table prd \n" +
    "   columns terminated by '\\t' \n" +
    "   ignore 1 lines";
stmt.execute(sql);

关键是使用executeUpdate()

试试这个

Connection con = DriverManager.getConnection("jdbc:mysql://localhost/foobar", "root", "password");

Statement stmt = con.createStatement();
String sql = 
    "load data infile 'c:/temp/some_data.txt' \n" +
    "   replace \n" +
    "   into table prd \n" +
    "   columns terminated by '\\t' \n" +
    "   ignore 1 lines";

int rows = stmt.executeUpdate(sql);

System.out.println("Rows: " + rows);
这不是我的问题。“加载数据填充”工作正常。我需要捕获在MySQL提示符下使用“source c:/temp/some_data.txt”运行时生成的输出。