7

我想在 android 中创建一个嵌套的 sqlite 数据库。IE。我希望表中的特定字段以不同表的形式具有其全新的一组值。

4

2 回答 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 回答