将XLS数据导入MySQL表,将第1列保存为PK

时间:2014-05-04 10:43:02

标签: mysql excel import

我已经获得了一个Excel电子表格,可以导入MySQL数据库。 每个Excel行都有许多列,其中第1列是PK,其余是应作为单独的行输入到DB中的值。例如:

| SizeGroup | Size1 | Size2 | Size3 | Size4 | Size5 |
=====================================================
|     A     |   S   |   M   |   L   |       |       |
-----------------------------------------------------
|     B     |   S   |   M   |   L   |  XL   |       |
-----------------------------------------------------
|     C     |   S   |   M   |  XXL  |       |       |
-----------------------------------------------------
|     D     |   36  |   37  |  38   |  39   |  40   |
-----------------------------------------------------
|     E     |   M   |   XL  |       |       |       |
-----------------------------------------------------
|     F     |   39  |   40  |   41  |   42  |  43   |
-----------------------------------------------------

期望的结果是:

Table: sizes
id | size_group | size
=======================
 1 |      A     |  S
-----------------------
 2 |      A     |  M
-----------------------
 3 |      A     |  L
-----------------------
 4 |      B     |  S
-----------------------
 5 |      B     |  M
-----------------------
 6 |      B     |  L
-----------------------
 7 |      B     |  XL
-----------------------

如何实现这一目标?我可以使用库在PHP中编写一些代码来读取xls并写入数据库,但必须有更好的解决方案。

1 个答案:

答案 0 :(得分:0)

您可以在Mysql中导入Excel工作表,如下所示: http://dev.mysql.com/doc/refman/5.5/en/mysql-for-excel-export.html

导入数据后,请指定如下所示的主键:

ALTER TABLE tablename ADD PRIMARY KEY(colname);