2011-02-15 91 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