【问题标题】:Create a dynamic column sourced from another table in MySQL在 MySQL 中创建来自另一个表的动态列
【发布时间】:2012-04-27 02:27:37
【问题描述】:

首先,感谢到目前为止我在这里得到的所有巨大帮助——非常宝贵。

我想创建一个 MySQL 表,其中包含从另一个表中的列动态生成的列,但它也可以包含手动输入值的列。换句话说:

例如,表 1 有一个名为“汽车”的列,其中包含讴歌、福特、本田等项目。有时此表会更新为新车。假设有人插入“闪避”。

我需要的是一个不同的表,它有一个名为“cars”的列,它会自动更新以反映另一个表中“cars”列中的项目列表;但是该表还应该有一个名为“轮胎”的列,可以接受新的值,如“倍耐力”、“米其林”等。

换句话说,这个新表应该有一个名为 cars 的列,该列始终来自另一个表,但应该能够在插入时接受匹配的“轮胎”值——如果这有意义的话。

非常非常感谢。

【问题讨论】:

    标签: mysql dynamic


    【解决方案1】:

    不要那样做!这是非常非常糟糕的设计。 您需要创建几个具有多对多关系的汽车和轮胎参考表。

    table cars:
    car_id
    car_name
    
    table tires:
    tire_id
    tire_name
    
    connection table car_tire:
    tire_id
    car_id
    

    【讨论】:

    • 是的,我明白这一点——关键是我想要一个最终用户可以通过 AJAXcrud 更新的表。所以这个表(我们称之为“CarTires”)应该有汽车和轮胎列,但汽车列应该是动态的,这样它总是使用原始汽车表中的数据。
    • 我考虑的另一个选项是让一个 cron 作业使用另一列中“cars”表中的数据更新“CarsTires”表中的列,但我怀疑有一种方法可以在 MySQL 中动态执行此操作....
    • 什么?也许我没有正确解释,但我真正需要的是一个表,它有一个由视图填充的列(以便它根据另一个表动态更新),而且还有另一个可以输入数据的列。
    • 所以我取得了一些进展:我有一个选择汽车列原始“汽车”表的视图,以便在修改原始表时实时更新。我有一个单独的(空)表用于放置我离开视图的轮胎。现在我唯一的问题是:如何使连接的轮胎表中的 ID 等于汽车表中的 ID?
    • 看。你有两套:汽车和轮胎,对吧?比如说,福特可能也配备了倍耐力和米其林。从另一方面来说,倍耐力可能会同时适用于福特和道奇。我是否理解您想要实现的业务登录?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多