MySQL PHP,表内表(每个条目多行)

时间:2013-11-07 21:57:00

标签: php mysql mongodb

我的设置如下所示。

在我的网页上,我们正在查看文档#83156。用户在文档中创建了多个条目。我将有数千个这些文档编号,有些可能没有条目,有些可能有20个项目/更改条目。我的数据库中的每个“条目”都是根据文档编号。

在此示例中,用户对文档进行了4次更改。我正在尝试将所有这些更改存储到单个条目(或每个文档编号)中。

我不想拥有重复的DOCUMENT#号码(这意味着我不希望我的数据库中有4个单独的条目)。

有谁知道如何使用MySQL实现这一目标? 我听说MongoDB有一个简单的方法。我没有使用MongoDB的经验,但是如果它更容易我可以看看它。

非常感谢任何建议。

enter image description here

1 个答案:

答案 0 :(得分:1)

MySQL是一个关系数据库 - 你想要的是一个简单的关系:

  • 使用您给出的表格结构(红色边框)作为文档,记录“CHG”操作
  • 使用另一张表进行更改:

CREATE TABLE changes (
  ID INT PRIMARY KEY AUTO_INCREMENT,
  PARENT INT NOT NULL, -- consider foreign key constraint here
  CHGTYPE ENUM('Add','Del') NOT NULL,
  CHGTXT VARCHAR(250) NOT NULL,
  REV_WAS INT, REV_NOW INT, QTY_FROM INT, QTY_TO INT
)

其中PARENT存储父更改(示例中为83156)