我打算将一个文件(结构如下)加载到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|
我正在使用下面的命令加载文件:
将数据infile“/home/kimi/my.txt”加载到以“,”结尾的表测试字段中,以“,”括起来,以“\n”结尾的行忽略1行;
这将适用于id 1和2,但我得到这样的警告消息
“行3不包含所有列的数据”。
我想是第3栏的“多余”导致了这个问题。我想知道mysql加载参数方面是否有什么方法可以解决这个问题?否则,我可能会在加载文件之前做一些清理工作。
1条答案
按热度按时间wqsoz72f1#
您必须对要插入的双引号进行转义。这可以通过添加
ESCAPED BY '<char>'
到后面的命令FIELDS
. 下面的示例演示如何将反斜杠设置为转义字符。...FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\'...
看到了吗https://dev.mysql.com/doc/refman/8.0/en/load-data.html 更多信息。