0

我的问题是我无法将 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

记事本++中的简历:

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 列时,它总是说该列上没有数据,并且当我在 ID 上输入一个值时CVS 文件中的列中,我的数据库上的 ID 混淆了。

前任:

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

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

4

1 回答 1

1

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

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

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

ALTER TABLE t AUTO_INCREMENT = <number_of_rows+1>;
于 2012-12-17T03:21:24.683 回答