【发布时间】:2012-06-15 15:37:12
【问题描述】:
我想知道是否可以使用 SQL 创建一个按索引(数字)命名列的表。比如说,我想创建一个有 1000 万左右列的表,我绝对不想为每一列命名......
我知道我可以编写一个脚本来生成一个长字符串作为 SQL 命令。但是,我想知道是否有更优雅的方式来这样做
就像我在这里编造的一样:
CREATE TABLE table_name
(
number_columns 10000000,
data_type INT
)
我猜说 1000 万列会引起很多混乱。对于那个很抱歉。我查阅了几个主要商业 DBMS 的手册,似乎不可能。感谢您指出这一点。
但是另一个最重要的问题是,SQL 是否支持列的数字命名,例如所有列具有相同的类型并且有 50 列。引用它时,就像
SELECT COL.INDEX(3), COL.INDEX(2) FROM MYTABLE
语言支持吗?
【问题讨论】:
-
希望您不要认真地尝试创建一个包含 1000 万列的表...
-
我建议将您的数据库图旋转 90 度左右
-
谢谢...我只是想知道该语言是否支持这种操作。
-
我不认为你可以在一个表中生成这么多列:dev.mysql.com/doc/refman/4.1/en/column-count-limit.html
-
我不知道 任何 主要 RDBMS 允许 10,000 列范围内的任何内容,并且很可能限制在数千列.但这提出了一个问题,即您要解决什么问题——尤其是当您不想“命名所有列”时。大多数情况下,您想要全部命名。正如其他人所建议的那样,您可能需要重新考虑这一点。
标签: mysql sql database postgresql database-design