向mysql表的列添加不同的值类型

时间:2011-11-11 19:18:31

标签: mysql sqldatatypes

有没有办法在MySQL表的SAME列中添加不同类型的值?

编辑:每一行都有一个varchar数据字段,该字段在另一列的另一个字段中具有与之关联的数值。是否可以将这些数字保存为某些行中的float类型和其他行中的int?

3 个答案:

答案 0 :(得分:0)

如果是类型,则表示数据的值由除列的指定数据类型之外的值表示,如blob字段中的int或某些类型,则为no。

数据可以转换为序列化格式,如JSON或XML,并保存在文本字段中,但出于各种原因,大多数应用程序都不建议这样做,并且像MongoDB或Redis这样的密钥值存储可能很可能如果这是所希望的,那么更接近这种行为。

有人想知道你为什么要这样做?你能否指出你想要实现的目标,也许我们可以找到更好的方法。

答案 1 :(得分:0)

我不确定MySQL对对象的支持,但它可能是一个解决方案。 无论如何,如果你只需要管理一个信息,但你不需要类型,你可以将它存储为“字符串”,并在代码上做一个非常好的工作来解析它。

答案 2 :(得分:0)

需要3列:

(Int)     (Int)      (Float)
IsInt     IntVal     FloatVal
1         14         NULL
1         2011       NULL
0         NULL       23.33
0         NULL       2.5
1         13         NULL
1         42         NULL

然后,您可以检查IsInt字段以查看您使用的数据类型。