我有一个带有 servlet、jsp、java 等的 Java webproject。我里面有很多项目,我可以在这样的组合框中选择:
Project [Combobox]
Priority[Combobox] Stage[Combobox]
对于每个项目,我可以在组合框优先级和阶段中选择其他值。 所以我们可以说,优先级和阶段的值(value)总是与所选项目有关。
在数据库中我有这样的表:
Table project:
projectid
projectname
Table priority
id
priorityname
projectname
知道我是否有优先级的值 prio1 并且我想给这个值项目 1 和项目 2,我必须在数据库中的表优先级中做两个条目:像这样
id priorityname projectname
1 prio1 project1
1 prio1 project2
但我只想做一个数据库:所以我在数据库中的想法是这样的:
id priorityname projectname
1 prio1 project1,project2
我在这方面没有太多经验。所以我想告诉你这个,也许我的想法不好,我希望有更好的解决方案。
最佳答案
您不能在一个数据库字段中插入多个值。
根据您使用的数据库,应该有不同的方法来达到您的目标。
如果您的数据库支持它们,请尝试使用外键(例如 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
是外键。
关于database - 如何在一个数据库字段中插入多个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16954970/