【问题标题】:how to import excel.cvs file without an index key to phpmyadmin如何将没有索引键的excel.csv文件导入phpmyadmin
【发布时间】:2012-12-04 04:06:03
【问题描述】:

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

这是数据库结构:

+-----+------+-----+-----+---------+------+-------+----+
|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。

【问题讨论】:

  • @Dibya 我总是尝试接受答案,但答案只能有效,并且可以解决问题。就像你给我的一样。

标签: database excel import multiple-columns


【解决方案1】:

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

这是我的建议:我不知道您是如何获得 CSV 文件的,但您可以在 MS-Excel 中打开 CSV 文件。现在您知道在那里添加一列是多么容易,并且只需多次单击即可在那里生成序列。

在您的表中插入记录后,您可以知道您有多少行。现在在 SQL 提示符中使用此命令,或者您始终可以在 PHPMyAdmin 中找到一个 SQL 提示符:

ALTER TABLE t AUTO_INCREMENT = <number_of_rows+1>;

【讨论】:

  • "但是当我创建一个 ID 列时,它总是说该列上没有数据,当我在 CVS 文件中的 ID 列上输入一个值时,我的数据库上的 ID 会混淆。 "
  • 这是因为自动递增功能使用了Sequences 的概念,并且序列从 1 开始。所以你得到多个 1,2... 等等。等一下,我会更新如何让序列从你的期望值开始。
  • @telexper:添加详细信息请查看。
猜你喜欢
  • 2015-07-20
  • 2014-12-13
  • 2018-05-22
  • 2013-02-23
  • 2011-06-30
  • 2012-10-07
  • 2012-03-06
  • 2015-02-04
  • 2018-07-24
相关资源
最近更新 更多