【发布时间】:2012-02-19 22:48:49
【问题描述】:
我正在尝试使用导入功能从 MS Excel 2007 工作表将数据插入到我的数据库表中。这里的挑战是我的数据库表有它的主键 auto_incremented。这基本上意味着在 excel 表中,由于实际原因,不能存在将充当主键数据的列,因为这会使编辑者手动保持输入数据变得乏味[表的 excel 表可以添加多个因此,在主键列中保留最后一个数字的制表符并不是一个好主意]。
这就是挑战所在。导入函数拒绝将信息插入到特定的表中,而是在数据库中创建一个新表并在那里输入信息。为了解决这个问题,第二种策略是有一个触发器或存储过程来执行周期性[我不关心何时/如何执行的语义]:
INSERT INTO requiredDbColumn
选择 *
FROM excelSheetTable
但是,这不会真正起作用,因为 excelSheetTable 和 requiredDbColumn 的值/列不匹配,因为 excelSheetTable 仅具有 (n-1) 个从上传的 excel 表创建的列,而 requiredDbColumn 具有 n列数,附加列是主键列。
我已将主键设置为自动递增,所以我不确定为什么 INSERT INTO, SELECT 会声明列计数/值计数不匹配。
这是一个普遍的挑战,有人对此有解决方案吗?
谢谢!
【问题讨论】:
标签: mysql sql excel phpmyadmin