MySQL:我应该使用哪种数据类型来表示逗号分隔值?

时间:2009-12-17 04:20:03

标签: mysql types

我需要存储一串逗号分隔值。

'1,23,47' or '1' or '' (null)

哪种数据类型最适合逗号分隔值?

  

注意:我只询问哪种数据类型适合此方案。

5 个答案:

答案 0 :(得分:4)

取决于您期望的字符串大小决定varchar的大小。如果你不知道字符串有多长,你可以使用TEXT数据类型。

答案 1 :(得分:2)

字面答案:某种VARCHAR

更好的答案:不要存储逗号分隔值列表。每行存储一个值,并在访问数据库时使用带有GROUP_CONCAT的SELECT查询生成逗号分隔值。

答案 2 :(得分:2)

VARCHAR,它可以存储任何内容。

如果你觉得它很长,那就是文字。

答案 3 :(得分:1)

如果您永远不需要查询值列表中的特定子项,请使用varchar。但是,如果您需要查询值,我强烈建议您考虑使用不同的数据库设计,例如值表,其中每行包含主表的连接键和单个值。

答案 4 :(得分:0)

使用以下模板语法varchar(your maximum length)(如

)创建变量字符字段
comment varchar(128)