如果需要,如何添加新列

Posted

技术标签:

【中文标题】如果需要,如何添加新列【英文标题】:How to add new columns if needed 【发布时间】:2021-08-20 17:40:10 【问题描述】:

我是 mysql 数据库的新手,我正在尝试使用 php 创建一个网络库存和生产数据库。

在这个库存软件中,我正在尝试创建一个表,其中创建了产品并插入了它们的组件。但是如果一个产品有不同数量的组件,我想知道有没有办法从网站的管理页面添加更多的组件列。

另一件事是这些组件是从另一个表中取出的,只要创建了新的产品订单,就应该从组件表中减去那些使用的组件的数量。 (不过这是个大问题,现在解决第一个问题应该就够了)。

【问题讨论】:

【参考方案1】:

是的,您可以随时从数据库表中添加或删除列。

但是,我不会这样做。您必须尝试设计一个可以处理具有不同数量组件的产品的数据库。通常会这样做:

    为您的products 创建一个表。 为您的components 创建一个表。 创建一个链接表product_components,以指示产品由哪些组件组成。

见:Using linking tables for many to many relationships in MySQL

【讨论】:

谢谢,这是一个聪明的解决方案。希望能更多地了解主要问题。 @Mekiro 跟踪库存是一个更高级的话题,并且有许多可能的解决方案。对于 SO 问题,最好能更清楚地说明数据库需要做什么,并向我们展示您尝试实现它的内容。【参考方案2】:

你需要了解mysql中的关系。在像 mysql 这样的关系数据库中,基本上有 3 种类型的关系(有些人可能会说 4 种)。

这里根据你的描述可以使用

    一对多 多对多

数据库中的关系。这可能会帮助你—— https://afteracademy.com/blog/what-are-the-different-types-of-relationships-in-dbms

【讨论】:

以上是关于如果需要,如何添加新列的主要内容,如果未能解决你的问题,请参考以下文章

在Pandas Dataframe列中查找某些单词,如果找到,则将它们添加到新列中

如果 ID 存在于其他数据框中,则 Python Pandas 数据框在新列中添加“1”

如何添加新列(作为主键列)查看

如何基于两个现有列使用 pandas 正确添加新列?

如何将 SELECT 的结果添加为现有表中的新列?

如何向现有的 Azure 表存储添加新列