MySQL:在多个表中存储变量值对

时间:2011-01-15 01:10:47

标签: mysql forms codeigniter

原始问题here

我正在CodeIgniter中创建一个具有配对价值的表单 - 公司和CEO。我们的想法是,虽然最初只有一个公司字段,其中一个CEO字段位于表单下方,但是有一个按钮供用户创建更多公司 - CEO字段对。此外,还会有另一个页面,我将从表单中获取输入并输出如下内容:

CEO X is head of Company A

因此,这确实意味着我将不得不在某种程度上使这些对彼此关联。基于之前的建议,我的Main MySQL表将如下所示:

id int
Attribute1  blob
Attribute2  blob

然后我会有一个Company表:

id int
Company text
foo blob

最后,我将有一个CEO表:

id int
CEO text
foo blob

这个想法是为了简单起见,对于来自Main的每条记录,它应该足够简单,以确定哪些公司 - CEO对属于该记录,因为它们都共享相同的ID。每次填写并提交表单时都会创建该ID。但是,我可以使用什么方法将每个公司与相应的CEO联系起来?

2 个答案:

答案 0 :(得分:1)

除非您将其存储在blob字段中,否则您不会在主表中存储任何可识别与记录关联的ceos /公司的内容。如果您想为公司允许多个首席执行官,则需要

company table (id, companyname)
ceo table (id, ceoname)


company_ceos (ceo_id, company_id)

并且很可能会想要一些日期信息,所以你可以说'John Doe'是'99到'08的首席执行官,而'Jane Smith'是'09 - >的首席执行官。本

答案 1 :(得分:0)

在CEO和公司表中放置一个外键列,将它们链接到记录ID:

Company

id int
Company text
record int
foo blob

CEO

id int
CEO text
record int
foo blob