Java應用程序向mysql插入數據使用加載數據infile查詢。在csv文件中,一些錯誤的格式化值,如缺少行,不正確的字段(整數值的字符串值)。如果文件上存在不正確的記錄(行),Java應用程序會拋出異常並且不會添加任何都會記錄更正的行。如果使用heidi sql程序(sql客戶端程序)對同一個文件執行相同的查詢,則添加所有記錄,甚至是不正確的行(對於缺少字段等,將null值)。我只想讓我的java應用程序像sql客戶端一樣行事,把所有行至少插入正確格式的行。java加載數據infile查詢丟棄錯誤行
謝謝。
SQL
load data infile '/a.txt' into table test_data fields terminated by ','
代碼片段
public void query(String query, Connection conn) throws SQLException {
PreparedStatement ps = null;
try {
ps = conn.prepareStatement(query);
ps.executeUpdate();
} catch (MySQLTransactionRollbackException e) {
logger.error("", e);
throw new MySQLTransactionRollbackException();
} catch (SQLException e) {
logger.error("", e);
throw new SQLException(e);
} finally {
if (ps != null) {
try {
ps.close();
} catch (Exception e) {
logger.error("", e);
}
}
try {
conn.close();
} catch (SQLException e) {
logger.error("", e);
}
}
}