在一个MySql字段中保存两个引用

时间:2012-12-27 12:14:57

标签: mysql

我需要在一个MySql字段中保存两个数值, a b 。 两者都是自然数,最多包含11个字符,它们将在下一个SQL结构中使用。

"SELECT FROM table WHERE field=a and foild=b"

我想到了接下来的两种可能性:

  1. 使用{11},{11}范围创建 DECIMAL
  2. 使用23个字符创建 VARCHAR 并将其另存为“a.b”字符串。
  3. 哪个是最佳选择?有没有更好的选择让它快速运作?

    当说快速时,我的意思是在我的查询中使用 a b 的“最便宜”方式。两个示例在使用之前都需要拆分过程,我不知道是否有任何方法可以直接在一个查询中执行此操作,将 a b 作为 curiousfield.part1 curiousfield.part2 ......

    谢谢,(对不起,如果 curiousfield 太棒了)

    修改

    为什么我要在一列中存储多个值?

    因为我有下一个表格

    INT-值 content [INT]

    VARCHAR值 content [VARCHAR(100)]

    文字值 内容[TEXT]

    魔法值 内容[????]

    由于多种原因,它总是被保存在“内容”中,并且使“magic-value”表具有content-a和content-b字段,对于我正在使用的要求来说不是一个很好的解决方案。 / p>

3 个答案:

答案 0 :(得分:2)

不,不,不!

不要在一列中存储多个值。周期。

答案 1 :(得分:0)

您无法在列中保存两个十进制值,并且列的数据类型为decimal,最好将其存储为数据类型为decimal的两列,而不是列为值的列用逗号隔开。

使用两个数字列进行搜索比使用逗号分隔值的列更容易。

答案 2 :(得分:0)

如果要在DB中存储自然数而不是以十进制或整数存储。 如果存储为整数

  1. 检索很简单。
  2. 你可以在sql本身对它们进行操作或计算。
  3. 如果您存储在一个字段中,那么您无法获得上述好处,而且无论何时从db保存或检索,都需要对其进行拆分/连接。