我打算将一个文件(结构如下)加载到mysql表中。
"id","name","city","occupation"
"1","ami","Puchong","Engineer"
"2","sandy","Puchong (Equine Park)","Teacher"
"3","sam","Puchong "Puncak Jalil"","Doctor"
并期望获得如下表结构
|id|name|city|occupation|
|1|ami|Puchong|Engineer|
|2|sandy|Puchong (Equine Park)|Teacher|
|3|sam|Puchong "Puncak Jalil"|Doctor|
我正在使用以下命令加载文件:
将文件'/home/kimi/my.txt'中的数据加载到终止的表测试字段中
以','括起,以'\'开头并以'\ n'结束IGNORE 1行;
这将适用于ID 1&2,但是我得到这样的警告消息
“行3不包含所有列的数据”。
我想出了在第三列中多余的“引起了这个问题。
否则,可能我会在加载文件之前进行一些清理工作。
最佳答案
您将必须转义要插入的双引号。这可以通过在ESCAPED BY '<char>'
之后的命令中添加FIELDS
来完成。下面的示例显示如何将反斜杠设置为转义字符。...FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\'...
有关更多信息,请参见https://dev.mysql.com/doc/refman/8.0/en/load-data.html。