在SQL中的字段中添加多个数据

时间:2015-01-12 14:31:12

标签: mysql sql database

我有一个名为' users' 。在'用户' table,包含一个名为" chapter_id'的字段。 。 另一个名为'章节'包含特定主题关于其id的章节的所有名称。我想添加多个ID'来自'章节'到' chapter_id'在用户中。 我可以添加一个" chapter_id'在'用户'来自'章节' 这是我的用户表:

-------------------------
id | name | chapter_id  |
-------------------------
1  | ABC  |    8        |
-------------------------

这是我的' chaprers'表:

-------------------------
id | name |   subject   |
-------------------------
1  | XYZ  |   PQR       |
-------------------------

我用来从'章节中选择名称的查询'在哪里' id' ='一些id'在表格'用户'是:

SELECT `name`, subject FROM chapters WHERE id = (SELECT chapter_id FROM users where id= 11)

为了插入chapter_id,我写道:

UPDATE `users` SET `chapter_id`= (SELECT id FROM chapters WHERE id = 5) WHERE id =11

现在我想添加多个ID'在" chapter_id' !这样做的查询是什么?

2 个答案:

答案 0 :(得分:1)

这是不可能的。您需要的是一个连接表,其中每一行都包含对User和Chapter的引用。然后,每个用户可以有多个行,每个行都引用一个章节(因此,每个用户有多个章节。)

但更重要的是:阅读SQL。如果你不了解基础知识,你永远无法使用SQL开发任何东西。

答案 1 :(得分:1)

您必须更改数据库的结构。

现在,您有 1到N关系,其中单个用户只能分配一个章节,但每个章节都可以分配给多个用户。

您需要相反的, N对1关系,其中每个章节都有一个指定的用户。为此,您需要删除当前的chapter_id列,并在章节表中添加user_id列。

如果您不想要,例如 N到N关系(用户可以分配多个章节,任何章节可以分配多个用户),您需要一个新表格中间。