我有一个名为' 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' !这样做的查询是什么?
答案 0 :(得分:1)
这是不可能的。您需要的是一个连接表,其中每一行都包含对User和Chapter的引用。然后,每个用户可以有多个行,每个行都引用一个章节(因此,每个用户有多个章节。)
但更重要的是:阅读SQL。如果你不了解基础知识,你永远无法使用SQL开发任何东西。
答案 1 :(得分:1)
您必须更改数据库的结构。
现在,您有 1到N关系,其中单个用户只能分配一个章节,但每个章节都可以分配给多个用户。
您需要相反的, N对1关系,其中每个章节都有一个指定的用户。为此,您需要删除当前的chapter_id
列,并在章节表中添加user_id
列。
如果您不想要,例如 N到N关系(用户可以分配多个章节,任何章节可以分配多个用户),您需要一个新表格中间。