sql - LOAD DATA LOCAL INFILE 读取问题

标签 sql mysql load-data-infile

我在使用 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/

相关文章:

python - 在postgresql中存储一个大矩阵并在python中操作它

mysql - 如何将 CSV 文件导入 MySQL 表?

mysql - 如何将文件中的时间戳数据上传到mysql

mysql比较整数

MYSQL从数据库中的附加表中选择,匹配数据等

mysql查询在列表中最后一个特定标记之后获取行

MySQL 加载数据忽略行 - 如果(可选)设置了封闭

sql - 主键和标识有什么区别?

mysql - Cassandra 的模式和 RDBMS 模式的区别

mysql - 使用 case 语句优化查询