我需要在一个MySql字段中保存两个数值, a 和 b 。 两者都是自然数,最多包含11个字符,它们将在下一个SQL结构中使用。
"SELECT FROM table WHERE field=a and foild=b"
我想到了接下来的两种可能性:
哪个是最佳选择?有没有更好的选择让它快速运作?
当说快速时,我的意思是在我的查询中使用 a 和 b 的“最便宜”方式。两个示例在使用之前都需要拆分过程,我不知道是否有任何方法可以直接在一个查询中执行此操作,将 a 和 b 作为 curiousfield.part1 和 curiousfield.part2 ......
谢谢,(对不起,如果 curiousfield 太棒了)
修改
为什么我要在一列中存储多个值?
因为我有下一个表格:
INT-值 content [INT]
VARCHAR值 content [VARCHAR(100)]
文字值 内容[TEXT]
魔法值 内容[????]
由于多种原因,它总是被保存在“内容”中,并且使“magic-value”表具有content-a和content-b字段,对于我正在使用的要求来说不是一个很好的解决方案。 / p>
答案 0 :(得分:2)
不要在一列中存储多个值。周期。
答案 1 :(得分:0)
您无法在列中保存两个十进制值,并且列的数据类型为decimal
,最好将其存储为数据类型为decimal
的两列,而不是列为值的列用逗号隔开。
使用两个数字列进行搜索比使用逗号分隔值的列更容易。
答案 2 :(得分:0)
如果要在DB中存储自然数而不是以十进制或整数存储。 如果存储为整数
如果您存储在一个字段中,那么您无法获得上述好处,而且无论何时从db保存或检索,都需要对其进行拆分/连接。