2012-07-28 212 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