如何将数据添加到不同的表但保持相同的ID?

时间:2010-01-21 18:29:31

标签: mysql database-design

我要做的是使用MySQL 5.1和PHP 5.2.12将产品数据添加到数据库中。

我有一个通用字段表:名称,描述,价格,购买次数,还有一个与该产品相关的图像表。

目标是为与其产品对应的每个图像具有相同的ID。例如,如果我将产品添加到主表,并且其ID设置为128,那么我希望图片表中的所有图片都具有id 128。

我该怎么做?

4 个答案:

答案 0 :(得分:2)

你想使用mysql_insert_id();获取刚刚插入的自动编号的ID。然后,您需要在将图片链接到产品的链接表中使用该ID。

答案 1 :(得分:1)

为图像创建新的主键(例如,自动递增字段),但也使用外键来引用产品表。插入如下:

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

答案 2 :(得分:0)

图像应具有自己的(可能是自动增量)id,完全独立于与之关联的产品。

产品的关联应在单独的列中定义(例如,名为“product_id”)。

仅当图像只能与一个产品相关联时才有效。如果图像可以有多个关联,那么创建一个如下所示的关联表是值得的:

id | image_id | product_id
通过这种方式,任何图像都可以与任意数量的产品相关联,从而可以减少开销。

答案 3 :(得分:0)

创建一个名为ProductImage的第三个表。

ID,ProductID,ImageID

使用此表存储关系。您不需要此表中的ID,但您可能会在稍后阶段找到ID的用途。 ProductImageID是该产品/图像的唯一标识符。

这允许每张图片代表多个产品。