2012-07-28 146 views
0

我想每次向只有一列“名称”的数据库添加新行时,都会创建一个具有该名称的新表,但我无法做到这一点它让我对整个数据库版本的想法感到困惑。在数据库sqlite中创建新表

我试图手动更改版本,但在关闭应用程序后,它会回到第一个版本并删除存储在那里的所有信息,我甚至试图创建2个不同的数据库,一个用于名称和一个表对于表格,我不能使它工作太...

+0

我忘了提及...我有一个列表正在显示在主要活动列表包含名称表中的所有名称,所以我不能改变它的版本或将被删除 – eli 2012-07-28 13:38:49

+0

你确定你确实需要每次插入新行时创建一个新表?这是一个非常糟糕的设计,通常可以通过使用外键来避免这种设计。 – Dalmas 2012-07-28 13:48:25

+0

我想创建一个购物应用程序,它将包含一些购物清单,每个清单都包含一些产品...所以,每当您创建一个新清单时,我都会将其名称插入到名称表中,并为其产品创建一个新表格 – eli 2012-07-28 13:50:45

回答

1

每次插入行时创建一个表是一个糟糕的设计,可以在一个更有效的方式完成。

一个更好的主意是创建两个表。第一个包含2列:一个包含“名称”,另一个包含此购物清单的唯一标识符(ID),该标识符引用第二个表(每个产品)中的一个或多个行。

因此,第二个表格将包含一个ID列和其他列以存储有关添加到列表中的每个产品的附加数据。这是您可以链接您的表的位置,而不必为每行创建一个新表。

只需使用特定购物清单的ID在第二个表中创建新行,然后使用正确的SQL查询就可以轻松地获得其产品的特定购物清单。

+0

ill give it it尝试!感谢这个想法 – eli 2012-07-28 13:56:27