我在使用 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
但是它无法读取第一个字段并跳到第二个字段。所以, 第二个字段替换为第一个字段。
您能帮忙将第一个字段放到正确的位置吗?
谢谢
最佳答案
在“omer”之前和“ali”之前(每行的开头)添加“\N”作为自动增量列。我还会用引号将日期括起来
关于sql - LOAD DATA LOCAL INFILE 读取问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4681843/