所以我试图通过我的Java程序将CSV文件导入我的MySQL数据库。该程序会导入文件中的所有内容,就像它想要的那样,但是第一行,它会发送到表的末尾,程序会在那里看到它,但如果我搜索那个nr,它说它不存在。如果我直接进入数据库表并编辑nr(如果nr是137,我再次编辑并写入137),程序会识别出nr,如果我搜索它,它会找到,并且数据库表会组织本身并将该条目发送到假设的位置。 我只是没有看到任何逻辑。我有人可以帮助我,我很感激。
LOAD DATA INFILE 'C:\\Users\\carla.DESKTOP-9364K9K\\Desktop\\Alunos_1.csv'
INTO TABLE utentes character set utf8
FIELDS TERMINATED BY ','
(NrProcesso, Nome, @Nome_Resumido, Ano, Turma, @Subsidio, @Nome_EE, @NIF, @email, @Obs)
SET
Subsidio = IF(@Subsidio='','Nenhum',@Subsidio),
Nome_Resumido = IF(@Nome_Resumido='',NULL,@Nome_Resumido),
Nome_EE = IF(@Nome_EE='',NULL,@Nome_EE),
NIF = IF(@NIF = '', NULL,@NIF),
email = IF(@email='',NULL,@email),
Obs = IF(@Obs='',NULL,@Obs);
提前致谢。
答案 0 :(得分:0)
您已经做了一些事情来检查单元格/列值并形成一个sql以在MySQL中注入。
public List<Object> getRecordingsListFromCsv(String csvFileLocation, String mp3FileLocation, String mp3FileLocation2, String saveFileLocation, ChannelSftp sftp) {
Map<String, File> recordingsFilesMap = null;
BufferedReader br = null;
List<String> errorFilesList = new ArrayList<>();
List<Object> tempList = new LinkedList<>();
try {
csvRows = 0;
recordingsFilesMap = new LinkedHashMap<>();
br = new BufferedReader(new FileReader(csvFileLocation));
String line = br.readLine();
scriptLog.info("\n" + csvFileLocation + " loaded. Parsing File...");
while ((line = br.readLine()) != null) {
String[] csvArray = parseCsvLineToArray(line);
// System.out.println(Arrays.asList(csvArray) + "\n\n");
if (csvArray[0].trim().isEmpty()) {
continue;
}
/* Do your stuff here */
csvRows++;
}
} catch (FileNotFoundException e) {
scriptLog.error("\n---ERROR---\n FILE NOT FOUND: " + csvFileLocation);
String errorStr = "Type=" + e.toString();
errorStr += "StackTrace=" + Arrays.toString(e.getStackTrace());
scriptLog.error(errorStr);
} catch (IOException e) {
String errorStr = "Type=" + e.toString();
errorStr += "StackTrace=" + Arrays.toString(e.getStackTrace());
scriptLog.error(errorStr);
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
System.out.println(e.toString());
}
}
}
希望它能在某种程度上帮助你!!