我有一个文本文件,它的所有列都用\t(tab)分隔。总共有34列,但我只需要读取并插入前两列,即ID和名称。表结构如下:CREATE TABLE
temp.
itemname(
idSMALLINT(5) NOT NULL,
nameVARCHAR(255) NOT NULL, PRIMARY KEY (
id) ) ENGINE = InnoDB;
我可以使用什么查询来选择和插入前两列,然后剪切到下一行?load data infile 'itemname.txt' into table itemname
抛出错误1366:整数值不正确:第1行的列“id”为“17”
而且,这个文件有18094行,所以手动插入至少会让人筋疲力尽,而且我还有其他类似的文件。
2条答案
按热度按时间vnjpjtjt1#
在load命令中,尝试列出要导入的字段,该行的其余部分将被忽略:
终止符(\t和\n)在这种情况下并不是绝对必要的,因为它们是默认值。如果您的输入使用不同的终止符,您也需要在命令中指定它们。
x759pob22#
可以指定要在其中插入数据的表的列。
下面是命令的语法:
有关更多信息,请查看docs。