我正在尝试制作食谱数据库。在表格的"食谱"中;对于"成分",我希望有一个成分id列表,例如[2,5,7]。我能做出这样的东西吗还是我应该寻找另一个解决方案?
import sqlite3
conn = sqlite3.connect('recipes.db')
c = conn.cursor()
c.execute('''CREATE TABLE recipes(ID INT, name TEXT, ingredients INT)''')
c.execute('''CREATE TABLE ingredients(ID INT, nazwa TEXT, kcal REAL)''')
另一个想法是制作另一个表(配料列表),其中我将有15个带有配料数量的cols。
c.execute('''CREATE TABLE The_list_of_ingredients(ID INT, ingredient1 INT, ingredient2 INT, ...)''')
我能把配料1,配料2…以及各自成分的ID?
您可能正在寻找食谱和配料之间的多对多关系。
CREATE TABLE recipes(ID INTEGER PRIMARY KEY, name TEXT);
CREATE TABLE ingredients(ID INTEGER PRIMARY KEY, name TEXT, kcal REAL);
CREATE TABLE recipe_ingredients(
ID INTEGER PRIMARY KEY AUTOINCREMENT,
recipe_id INTEGER,
ingredient_id INTEGER,
quantity REAL,
FOREIGN KEY(recipe_id) REFERENCES recipes(ID),
FOREIGN KEY(ingredient_id) REFERENCES ingredients(ID)
);
这样你的数据看起来就像:
<表类>id 名称 千卡 tbody><<tr>1 鸡蛋 155 2奶油 196 表类>您可以尝试将id存储为字符串
json.dumps(list_of_ingredients_ids)
但最好的解决方案可能是多对多关系
您可以尝试将id存储为字符串
json.dumps(list_of_ingredients_ids)
但最好的解决方案可能是多对多关系