0

我已经阅读了多个不应将数组存储在 mysql 数据库中的地方。所以我想我会问我应该怎么做:

我正在用 php/mysql 编写一个基本的任务管理应用程序,我想要有项目和任务。任务是单个对象,而项目是包含多个任务的对象。所以我已经完成了任务,我有一个包含 id、name、dueDate 列的任务表。我的下一步是项目。

我的计划是创建一个包含 id、name、dueDate 和 taskID 列的项目表。taskID 列将包含一个任务 ID 数组,或者可能只是一个带有逗号分隔符的字符串。

有什么建议么?

4

3 回答 3

3

这在 MySQL 中称为一对多关系。您将拥有持有他们分配到的项目的 id 的任务。因此,要查找与项目关联的任务,您只需查询所有持有项目 ID 的任务。听起来对吗?

于 2012-08-17T15:47:56.453 回答
0

如果每个 id/name 记录可以有不同数量的任务 ID,那么有两个选项。第一种是使用 XML 而不是 SQL。第二个是创建两个表。上面包含 id、名称和截止日期,然后是第二个只有 id 和 taskID。第二列中的 id 是引用表 1 中的 id 的外键,taskID 是单个 taskID。例如:

表格1:

id | name | dueDate
-------------------
1  | bob  | '2012-08-16'
2  | fred | '2012-08-17'

表 2:

TableID | TaskID
-----------------
1       | 1
1       | 2
1       | 3
2       | 1
2       | 2
于 2012-08-17T15:51:48.723 回答
0

任务(id,名称,dueDate,ProjectID) 项目(id,名称,dueDate)

ProjectID 列是外键的 and,Proejcts 的表 id 列是另一个。

于 2012-08-17T15:49:18.827 回答