ЗАГРУЗИТЬ ДАННЫЕ ЛОКАЛЬНЫЙ ИНФИЛЬ Проблема чтения

0

У меня проблема с использованием 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

Однако он не может прочитать первые поля и перейти ко второму. Так, вторых полей заменяются на первые поля.

Вы могли бы помочь получить первые поля в нужные места?

спасибо

Теги:
load-data-infile

2 ответа

2

добавьте "\n" перед "omer" и перед "ali" (в начале каждой строки) для столбца автоинкремента. Я бы также добавил дату с кавычками

1

Я только что узнал, что проблема заключается в последовательности строки файла данных загрузки. правая последовательность

temp.executeUpdate("LOAD DATA LOCAL INFILE 'patient.txt' INTO TABLE Patient FIELDS ENCLOSED BY '\"' {name,address,phone,birthdate}")

Ещё вопросы

Сообщество Overcoder
Наверх
Меню