У меня проблема с использованием LOAD DATA INFILE commond.
Я создал таблицу, используя следующую команду:
temp.executeUpdate("CREATE TABLE Patient (patientID INT AUTO_INCREMENT, name VARCHAR(100),address VARCHAR(150), phone VARCHAR(15), birthdate DATE, PRIMARY KEY (patientID))");
и попытаться прочитать из файла с помощью этой команды;
temp = connect.createStatement();
temp.executeUpdate("LOAD DATA LOCAL INFILE 'patient.txt' INTO TABLE Patient {name,address,phone,birthdate} FIELDS ENCLOSED BY '\"' ");
temp.executeUpdate(" UPDATE Patient SET name=NULL WHERE name= '-' ");
temp.executeUpdate( " UPDATE Patient SET address = NULL WHERE address = '-' ");
temp.executeUpdate(" UPDATE Patient SET phone = NULL WHERE phone = '-' ");
temp.executeUpdate(" UPDATE Patient SET birthdate = NULL WHERE birthdate = '-'");
и мой примерный текстовый файл:
"omer" "trabzon" "3253008" 1990-06-10
"ali" "ankara" "2234887" 1999-11-12
Однако он не может прочитать первые поля и перейти ко второму. Так, вторых полей заменяются на первые поля.
Вы могли бы помочь получить первые поля в нужные места?
спасибо
добавьте "\n" перед "omer" и перед "ali" (в начале каждой строки) для столбца автоинкремента. Я бы также добавил дату с кавычками
Я только что узнал, что проблема заключается в последовательности строки файла данных загрузки. правая последовательность
temp.executeUpdate("LOAD DATA LOCAL INFILE 'patient.txt' INTO TABLE Patient FIELDS ENCLOSED BY '\"' {name,address,phone,birthdate}")