在mysql中动态指定列的数据类型?

在mysql中动态指定列的数据类型?,mysql,Mysql,我有一个问题,我必须根据存储在该行中的外键更改列中的数据类型 unit_id unit_name 1 String 2 Float 3 Date 4 Int Id spec value unit id 1 "A" 1 2 30.90 2 3 null 3 4 100 4 现在我应该

我有一个问题,我必须根据存储在该行中的外键更改列中的数据类型

unit_id   unit_name
1          String
2          Float
3          Date
4          Int


Id      spec value   unit id
1         "A"         1
2         30.90       2
3         null        3
4         100         4

现在我应该达到上述条件。如何实现它?

这是不可能的。您可以做什么:

  • 将VARCHAR(或类似的东西)用于
    spec value
    ,并自己解析内容
  • 有多个列(
    spec value\u string
    spec value\u float
    ,…)问题:该表将包含大量空值。但这种方法通常适用于报告表
  • 拥有多个表,一个用于字符串,一个用于浮点,并根据
    unit\u name
    将它们与数据类型表联接

  • 这是不可能的。您可以做什么:

    • 将VARCHAR(或类似的东西)用于
      spec value
      ,并自己解析内容
    • 有多个列(
      spec value\u string
      spec value\u float
      ,…)问题:该表将包含大量空值。但这种方法通常适用于报告表
    • 拥有多个表,一个用于字符串,一个用于浮点,并根据
      unit\u name
      将它们与数据类型表联接

    你会为手机规格比较应用程序选择哪一个我会有一个带有规格id和规格值的规格表,但是,我需要在查询中或服务器上进行转换,以便对数据进行排序和排序?对于手机的规格比较应用程序,您会选择哪一个?我将有一个带有规格id和规格值的规格表,但我需要在查询中或服务器上进行转换,以便对数据进行排序和排序?