2011-02-15 62 views
0

讓每個客戶都擁有自己的一組產品ID的最佳方法是什麼?例如,多個客戶將擁有ID爲101的物品,但在我的「物品」表中,所有這些物品都將擁有自己的主ID。MySQL:通用自動遞增產品ID和客戶唯一自動遞增產品ID

我可以在「customers」表中手動增加ID值,我必須在每次查找&手動增量時鎖定它。似乎這將是一個瓶頸。

謝謝。

回答

0

我本來以爲你會需要3個表來acomplish此:

客戶:CUSTOMER_ID(PK)

項目:ITEM_ID(PK)

CustomerItem:CUSTOMER_ID(FK)的Item_ID( FK)

當然這假設一個客戶可以有與另一個客戶相同的物品。如果您只希望客戶創建自己的「個人物品」,則您可以:

項目:[Customer_ID,Item_ID(auto_inc)] - 您的主鍵將是客戶ID和自動增量Item_ID的組合?

+0

謝謝,你是對的。從那時起,我瞭解到MyISAM表能夠在自動遞增的ID列和Customer列中擁有共享的PRIMARY KEY。因此,您創建一個(第三個)表來存儲客戶ID,其中Customer X的第一個INSERT爲ID 1,而Customer Y的第一個插入ID也爲1,依此類推。 – beckley 2011-02-17 05:47:24