【发布时间】:2015-08-20 06:35:37
【问题描述】:
CREATE TABLE user (
...
columnName int ARRAY[7][7] DEFAULT null,
...
)
我必须创建一个表,其中一个列必须存储一个 7x7 数组,但我想不通!
在 SQL 中甚至可能吗?
-- 更新 所以,我决定要欺骗它并将其存储为文本,然后使用代码处理该字符串
【问题讨论】:
-
有些数据库,比如postgres支持这个,但是从关系设计的角度来看,从长远来看并不是一个好主意。
-
这不是 SQL 标准的一部分,由字符组成的字符串除外。一些数据库可能支持数组或类似的结构。
-
在标准 SQL 中,设计一种数据类型用于保存多个值 - 表。您可以用两列为索引构建一个有意义的名称,并将它们限制为仅包含 0-6(或 1-7,取决于您的前景)之间的值,一列具有有意义的名称用于 values,然后将外键的附加列返回到
user表。 -
也许您想阅读this... 这是解决问题的一种方法...
-
您的数据库是否会与此列有任何交互,接受存储它吗?如果答案是肯定的,那么这是一个糟糕的想法。