我有一个11列的CSV文件,我有一个9列的MySQL表。
CSV文件如下所示:
col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11 MySQL表如下所示:
col1, col2, col3, col4, col5, col6, col7, col8, col9 我需要将CSV文件的第1-8列直接映射到MySQL表的前8列。然后,我需要跳过CSV文件中的接下来的两列,然后将CSV文件的第11列映射到MySQL表的第9列。
目前,我正在使用以下SQL命令:
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n' 但是上面的代码将CSV文件的前9列映射到MySQL表中的9列。
您也可以通过将输入值分配给用户变量而不将变量分配给表列来丢弃它:
LOAD DATA INFILE 'file.txt'
INTO TABLE t1 (column1, @dummy, column2, @dummy, column3);来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。