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

标签 mysql forms codeigniter

原始问题here .

我正在 CodeIgniter 中创建一个具有配对值的表单 - 公司和首席执行官。这个想法是,虽然表单上最初只有一个公司字段和一个首席执行官字段,但有一个按钮可供用户创建更多对公司-首席执行官字段。另外,还会有另一个页面,我将从表单中获取输入并输出如下内容:

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 中的每条记录,应该足够简单地找出哪些 Company-CEO 对属于该记录,因为它们都共享相同的 ID。每次填写并提交表单时都会创建该 ID。但是,我可以使用什么方法将每个公司与其相应的首席执行官关联起来?

最佳答案

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

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


company_ceos (ceo_id, company_id)

并且很可能需要其中的一些日期信息,以便您可以说“John Doe”是从 '99 年到 '08 年担任首席执行官,而“Jane Smith”是从 '09 年至今担任首席执行官

关于MySQL:在多个表中存储变量值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4697459/

相关文章:

javascript - 为什么 javascript 函数在第一次运行时不更新 DOM

php - Base_url() 不适用于 codeigniter

php - 为什么我在 codeigniter 中收到 "cannot modify header information headers already sent by registration_model"错误?

php - 在 mySQL 数据库中存储时间范围并与当前时间进行比较

mysql - 当 else 等于 NULL 时执行 if - else 语句的语法错误

php - 有效的SQL注入(inject)防护功能

mysql - Magento 客户实体表删除表属性中的 UNIQUE KEY

MYSQL 永远发送数据。删除 ORDER BY 或插入新行更快

html - 为什么 Chrome 移动我的表单标签并在选择接收焦点时选择?

ruby-on-rails - 存储 "schemas"以使用 postgres 和 rails 构建自定义表单