从一个Excel工作表导入到数据库表

问题描述:

我试图将数据插入到使用导入功能的MS Excel 2007中薄板我的数据库表。这里面临的挑战是我的数据库表的主键是auto_incremented。这基本上意味着在Excel表格中,出于实际原因,不能存在将作为主键数据的列,因为这会使编辑人员手动输入数据变得繁琐[表格的Excel表格可以添加多个因此保持主键列中最后一个数字的标签并不是一个好主意]。从一个Excel工作表导入到数据库表

这是其中的挑战lies.The导入功能拒绝信息插入到特定的表,但在数据库中,而创建一个新表,并有进入信息。为了解决这个问题,第二个策略是使用触发器或存储过程来执行定期[我不关心执行何时/如何执行的语义]: INSERT INTO requiredDbColumn SELECT *
FROM excelSheetTable

但是,这不会真的起作用,因为excelSheetTable和requiredDbColumn的值/列不匹配,因为excelSheetTable只有从已上载的Excel表中创建的(n-1)个列数与requiredDbColumn n列数,附加列是主键列。

我已经设置了主键上自动递增,所以我不知道为什么INSERT INTO,SELECT状态的列数/值数量不匹配。

这是一般的挑战,任何人对此有一个解决方案吗?

谢谢!

当我做一个INSERT,我通常给“价值观”为新插入的行中的所有字段。我的插入也自动自动增加主键字段。

下面是从我INSERT命令之一的摘录:

INSERT INTO Security.Memberships VALUES (185790, '1461459','asdf',NULL,NULL,1,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL) 

也许你需要一个更全面构建INSERT命令?

+0

感谢杰里,但是这是一个插入其中通过SELECT * FROM other_table命令提供的值 – user1020069 2012-02-20 01:13:23