2012-12-17 63 views
0

我的问题是我无法将excel.cvs文件导入到我的sql数据库中,因为它没有索引键。如何导入没有索引键的excel.cvs文件到phpmyadmin

这里是数据库结构:

+-----+------+-----+-----+---------+------+-------+----+ 
|from | to |cont |desc |date_time| total| amount| id | 
+-----+------+-----+-----+---------+------+-------+----+ 

ID是与自动增量主。

内容CVS文件:

12345678910 17071234569 UNITED STATES OF AMERICA California 12/15/2012 2:41 4:00 0.04536 
12345678910 17861234569 UNITED STATES OF AMERICA Florida  12/15/2012 2:41 4:00 0.076 

CVS在记事本++:

12345678910,17071234569,UNITED STATES OF AMERICA,California,12/15/2012 2:41,4:00,0.04536 
12345678910,17861234569,UNITED STATES OF AMERICA,Florida,12/15/2012 2:41,4:00,0.076 

当我导入CVS到我的数据库,它总是说我失踪1个科拉姆这是ID, ,但是当我做一个ID列时,它总是说该列没有数据,当我在CVS文件的ID列中输入值时,数据库上的ID会混淆。

例如:

+---+ 
|ID | 
+---+ 
|1 | 
+---+ 
| | 
+---+ 
|1 | 
+---+ 
|2 | 

什么方法可以解决这里,这样我可以导入我的CVS,即使它没有一个ID列,并导入到数据库中的文件将自动获得一个ID 。

+2

@Dibya我总是尝试接受的答案,但答案只有工作,并解决问题。就像你给我的那个一样。 – telexper

回答

1

让我来简单解释一下。你的表需要8个参数,你只给它7个。当你使用insert语句插入一条记录时可能会有这种情况。在导入的情况下,您必须提供所有列的详细信息。即使自动递增,也不能留下列。所以你必须给自己的ID列。

这是我的建议:我不知道你是如何得到CSV文件的,但是你可以在MS-Excel中打开CSV文件。现在您知道您可以轻松地在其中添加列,并且只需点击多次即可生成序列。

在你的表格中插入记录后,你可以知道你有多少行。现在,在SQL提示符下使用此命令,或者你总是可以找到的phpMyAdmin一条SQL提示:

ALTER TABLE t AUTO_INCREMENT = <number_of_rows+1>; 
+0

“,但是当我创建一个ID列时,它总是说该列没有数据,并且当我在CVS文件的ID列中输入值时,数据库中的ID会混淆。 – telexper

+0

这是因为自动增量功能使用了“序列”的概念,并且序列从1开始。所以你得到了多个1,2 ......等等。坚持一分钟,我会更新你如何从你的愿望价值开始顺序开始。 – NewUser

+0

@telexper:增加的细节检查出来。 – NewUser