我有一个带有servlet、jsp、Java等的java and项目。我里面有很多项目,我可以在这样的组合框中选择:
Project [Combobox]
Priority[Combobox] Stage[Combobox]对于每个项目,我可以在组合框的优先级和阶段中选择其他值。因此,我们可以说,优先和阶段的价值总是与选定的项目有关。
在数据库中有这样的表:
Table project:
projectid
projectname
Table priority
id
priorityname
projectname如果我有优先级的值prio1,并且我想给这个值Project1和Project2,我必须在表优先级中在数据库中做两个条目:如下所示
id priorityname projectname
1 prio1 project1
1 prio1 project2但是我只想做一个数据库:所以我在数据库中的想法是这样的:
id priorityname projectname
1 prio1 project1,project2我在这个问题上没有多少经验。所以我想告诉你们,也许我的想法不好,我希望有一个更好的解决方案。
发布于 2013-06-06 06:27:18
不能在一个数据库字段中插入多个值。
根据您使用的数据库,应该有不同的方式来达到您的目标。如果数据库支持外键,请尝试使用外键(例如,MySQL InnoDB数据库支持它们)。
使用外键时,需要将Project表条目指向Priority条目。然后您可以执行SELECT查询,例如:
SELECT *
FROM projects,
priorities
WHERE projects.proj_priority = priorities.prio_id
AND priorities.prio_name = "prio1"(假设)
这些桌子看起来是这样的:
projects (proj_id, proj_name, proj_priority)
priorities (prio_id, prio_name)其中proj_id和prio_id是主键,proj_priority是外键。
https://stackoverflow.com/questions/16954970
复制相似问题