2010-01-21 65 views
0

我想要做的是將產品的數據添加到MySQL 5.1和PHP 5.2.12的數據庫中。如何將數據添加到不同的表格,但保持相同的ID?

我有一張用於一般字段的表格:名稱,說明,價格,購買次數,還有一張與該產品相關的圖像表。

目標是爲每個與其產品相對應的圖像分配相同的ID。例如,如果我將產品添加到主表中,並且其ID設置爲128,那麼我希望圖片表中的所有圖片的ID爲128.

如何執行此操作?

回答

2

你想使用mysql_insert_id();找回剛纔插入的自動編號的ID。然後,您需要在將圖片鏈接到產品的鏈接表中使用該ID。

1

爲圖像創建一個新的主鍵(例如自動遞增字段),但也使用外鍵來引用產品表。插入如下:

INSERT INTO Images (product_id, ....) VALUES (128, ...) 
+0

我從哪裏得到128?我不知道查詢時該產品的ID,因爲我插入了空值,並且它自動遞增。我如何知道使用product_id有什麼價值? [由MindStalker回答] – Atomix 2010-01-21 18:37:53

0

的圖像應該有一個(可能是自動遞增)它自己的ID,完全獨立於它與相關的產品。

與產品的關聯應該在單獨的列中定義(例如,名爲「product_id」)。

僅當圖像只能與一種產品關聯時纔有效。如果圖像可以有多個協會,這是值得創建一個關聯的表像這樣:

id | image_id | product_id 

這種方式,任何圖像可以關聯到任意數量的產品,有可能減少開銷。

0

創建名爲ProductImage的第三個表。

產品編號,圖片ID

使用此表存儲關係。您並不需要此表中的ID,但您可能會在稍後階段找到該ID的用法。 ProductImageID是該產品/圖像的唯一標識符。

這允許每張圖片代表多個產品。

相關問題