【发布时间】:2018-12-03 10:17:23
【问题描述】:
我在 MySQL 中创建了一个表,其中包含我要从 FRED 数据中引入的所有数据名称。
现在我想创建一个新表,上面的示例表中的 1504 个名称,每个都有一列。
AAA AAA10M AAAFFM ADBJORNS and so on.
因此,fred_namecol 中的每个名称都应该得到一列,每个列都有数字作为值。有没有一种简单的方法来代替手动编写每个人?
也许有一种方法可以遍历每个名称并为它们创建一个列到一个新表中?
【问题讨论】:
-
坏主意.. MySQL 在表中有最大列限制,因此如果有人提供“解决方案”,它将因记录过多而失败.. “MySQL 的硬限制是每个表 4096 列,但是给定表的有效最大值可能会更小。确切的列限制取决于几个因素:“ source dev.mysql.com/doc/refman/5.7/en/column-count-limit.html
-
您的用户(其中 1504 个)有一张桌子。您想为每个用户记录一个数值吗?因此,只需在您的用户表中添加一个具有数字类型的新列并将数字存储在那里。不需要另一张桌子。在行上做,而不是在列上做。如果您的模型强制进行这样的设置,我认为您的模型是错误的。
-
我会得到1504列,而且数据是时间序列,所以我稍后会插入一个日期列。