database - 如何在一个数据库字段中插入多个条目

标签 database database-design

我有一个带有 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_idprio_id 是主键,proj_priority 是外键。

关于database - 如何在一个数据库字段中插入多个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16954970/

相关文章:

php - 在同一页显示一行的所有结果

php - 在我的网站中创建类似 Facebook 的搜索

mysql - 如何将两个django模型(表)合并为一个模型(表)

python - 如何保护 Django 中的对象不被删除?

php - 如何为每个用户构建未读项目警报的数据库

android - 如何将 HSQL(基于文件)与我的 android 应用程序连接?

database - 一对多关系中的标识符

mysql - SQL Propper索引,范围+普通搜索同时进行

database - 建模零或一对零或一关系?那是一回事吗?

mysql - 正确加入1 :n:1:1 relation in mysql database