如何存储用户提供的表格数据?

时间:2011-08-15 05:49:28

标签: mysql database database-design

我需要允许用户上传表格数据(数据的行和列)。我不知道这个表是什么样的(没有关于行数和列数的线索)。不使用EAV,有没有办法将所有这些数据存储在一个庞大的表中?

如果我说100列是此用户上传数据的最大允许列数,那么我只创建一个包含100列的表。当用户上传他们的数据时,我只是把它放在这个庞大的表中。

我想问题也是如何存储用户的列标题。试图这样做可能意味着我还有某种形式的EAV。

我特别关注非EAV解决方案。

建议?

1 个答案:

答案 0 :(得分:0)

您可以使用真正的MySQL表。如果您在获取数据时知道列名称,则可以组成合适的表名(确保自己制作这些名称),使用必要数量的varchar列创建表并填充它。当然,您希望始终引用列名称,这样您就不必过于担心列调用的内容。您还需要注意传入列的大小。

如果需要,您可以随时向数据库询问表格的架构,只需与information schema表或show columns查询对话。

您可能希望为这些用户定义的表预留一个数据库(或每个客户端一个数据库)。