2012-08-09 107 views
1

我试图通过发出以下命令LOAD DATA INFILE mysql的空值输入错误

load data infile "test.txt" into table m_c; 
到一个文本文件加载到现有的表

表有5列:ID,标题,官方,流派和平台 其中id是设置了auto_increment的主键。

该文件已添加到表中,但内容不是。相反,我将NULL作为所有列的值。

我真的需要知道为什么!

+0

如果您可以添加'SHOW CREATE TABLE your_table'的输出以及文件中的几行,那将是非常好的。 – 2012-08-09 17:38:41

+0

@ShlomiNoach这里你有打印屏幕[IMG] http://i48.tinypic.com/11ky2jk.png [/ IMG] – 2012-08-09 17:42:20

+0

基于你提供的镜头,我建议你使用'varchar',除非这些字段会是'char'的定义长度。 – Kermit 2012-08-09 17:46:58

回答

0
LOAD DATA INFILE 'test.txt' 
    INTO TABLE m_c 
    (title, genre, platform, official) 
SET gameid = NULL; 

Reference

另外,如何在你的文件格式?制表符分隔? CSV?您可能需要文件或行结束符。

查看manual

+0

奇怪的是,它添加了文件的最后一项,其余的为空 – 2012-08-09 17:47:11

+0

@JHove,你的输入文件是如何格式化的? – Kermit 2012-08-09 17:49:22

+0

另外,A,P,X,W,2014 – 2012-08-09 18:17:23

0

您的文本文件中不需要ID字段,系统会自动为您插入的每一行提供一个新的ID。

+0

从文本文件中获取ID不会导致错误。 – 2012-08-09 17:39:20

+0

所以如果我改变id或删除它,它不会解决它? – 2012-08-09 17:41:09

+0

我不知道 - 因为我不知道你在文中有什么。但我正在评论瑞安E,他的答案不会自动适用于此。 – 2012-08-10 06:27:22