我有两个表:product_content和product_images。在第一个中,我存储了有关产品的所有文本信息,在另一个中,我存储了图像的地址。
表结构:
产品内容:
id - 主键 url-varchar 标题 - varchar 内容文本 元标题文本 元描述文本 meta_keywords-文本 已删除 - 整数 (0|1)
产品图片
id - primary_key product_id - 整数 全尺寸文本 mini_size-文本 删除-int (0|1)
添加产品时,我对数据库进行了两次查询:
`$query_content = "插入产品内容
(网址、标题、内容、元标题、元描述、元关键字)
VALUES (:url, :title, :content, :meta_title, :meta_descritpion, :meta_keywords)";`
id然后我从请求中获取最后一个$query_content并将其传递给下一个插入图像的请求。请求在循环中执行。
`$query_image = "INSERT INTO product_images
(product_id, full_size, mini_size)
VALUES (:product_id, :full_size, :mini_size)";`
问题:如果我制作product_images一个列product_id- 外键,它将如何帮助我?我需要获取插入到表中的产品的 IDproduct_content吗?就是完全不明白为什么会有外键这样的索引。你能用我的例子解释一下吗?我看了文档,什么都不懂。谢谢你。
需要外键来控制数据的完整性(在 MySQL 中,它仅适用于 InnoDB 引擎)。需要它以便 product_images 表不包含不在 product_content 中的 product_id