我想在 android 中创建一个嵌套的 sqlite 数据库。IE。我希望表中的特定字段以不同表的形式具有其全新的一组值。
问问题
14682 次
2 回答
21
你所描述的是不可能的;无法在另一个表的一行中包含一个表。标准做法是通过将父表的主键作为列包含在子表中来创建“父/子”表;例如:
PARENT TABLE
id | name
---------
1 | Fred
2 | Bob
CHILD TABLE
id | parent_id | name
---------------------
1 | 1 | John
2 | 1 | Jim
3 | 2 | Joe
4 | 2 | Jane
这对表将“John”和“Jim”作为“Fred”的孩子,“Joe”和“Jane”作为“Bob”的孩子。您可以通过以下查询获得“Bob”(父 ID=2)的所有子代的集合:
SELECT * FROM child_table WHERE parent_id = 2
于 2012-07-01T20:24:59.823 回答
0
这就是我要做的,但您将无法创建当前表的另一个子表。
我会建议你从中创建两个不同的表,例如。如果您有表员工并且需要创建另外两个子表营销员工和工程员工表,只需创建我描述的两个表。例如
CREATE TABLE emp_engineer
和
CREATE TABLE emp_marketing
于 2017-02-01T00:25:40.527 回答