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
ただし、最初のフィールドを読み取って 2 番目のフィールドにスキップすることはできません。そのため、2 番目のフィールドは最初のフィールドに置き換えられます。
最初のフィールドを適切な場所に配置するのを手伝ってくれませんか?
ありがとう