是否有可能LOAD DATA
将csv
转换为mysql
,而不必在末尾为不存在的列添加空值?
我所有的可选列均在模式末尾排序:
CREATE TABLE `person` (
id int(20) NOT NULL AUTO_INCREMENT,
firstname varchar(30) NOT NULL,
lastname varchar(30) NOT NULL,
optional1 varchar DEFAULT NULL,
optional... varchar DEFAULT NULL,
optional50 varchar DEFAULT NULL,
PRIMARY KEY (`id`)
) engine=innodb AUTO_INCREMENT=0;
sample.csv:
1;john;doe
重要:我不想显式列出LOAD DATA INFILE
sql语句中的所有列(我知道这可以通过使用IFNULL
和@var
的组合来工作。
但是我不能只加载到表中,告诉mysql在每一行的末尾忽略所有丢失的字段吗?
您可以提供加载语句的列列表:
LOAD DATA INFILE 'myfile.txt' INTO TABLE person (id, firstname, lastname)