2012-09-06 24 views
-1

我正在寫我的廚房應用配方腳本(PHP/MySQL的),使用這些表:需要幫助增加行交叉引用表

ingredients 
----------- 
ingredient_id (PK) 
ingredient_name 

(一種成分可以有多種配方的一部分)

recipes 
------- 
recipe_id (PK) 
recipe_name 

(A配方可以有許多成分)

recipe_ingredients_map 
--------------------- 
recipe_id_map (FK) 
ingredient_id_map (FK) 

當添加一個新的配方,我需要插入一行到recipe_ingredients_map表食譜中每種成分。我無法弄清楚如何爲所有這些寫入查詢。請救救我吧? = P

+2

插入recipe_ingredients_map ....(填寫空白) – 2012-09-06 20:30:30

+0

@Dagon所以我只需要將選中的成分存儲到數組中,然後執行標準插入操作? – phgdanny

+1

@phgdanny - 你如何寫食材或食譜表?這真的沒有什麼不同。 – andrewsi

回答

1

不要試圖寫一個插入查詢所有3個表。

  • 首先插入配方。
  • 接下來插入一些成分。
  • 在recipe_ingredients_map最後鏈接,然後一起英寸

你recipe_ingredients_map缺少主鍵。

如果需要,你可以在交易中換了這一切。

+0

你能解釋「映射」表的主要關鍵元素嗎?我對標準化的概念很陌生,並且認爲我需要的所有東西都是外鍵鏈接到其他人。 – phgdanny

+1

每張表必須有一個PK,否則無法識別一行。添加一個額外的字段並將其命名爲recipe_ingredients_map_id – JvdBerg