首页 文章

PHP-MySQL 3 个表选择,更新,删除和插入与外键链接

提问于
浏览
0

我在 MySQL 中使用外键链接的 3 个 InnoDB 表有问题,我的表是:

Table1 name - products

PID(PK, bigint, auto inc), 
CATALOG_NO, 
PRODUCT_NAME, 
COMPOSITION, 
SIZE, 
PRICE, 
SUBCAT_ID(foreign Key, index, bigint, keyname-FK_products_1)

Table2 name - subcategory

SUBCAT_ID(PKey, bigint, auto inc),
SUBCATEGORY_NAME, CAT_ID(fkey, bigint)

Table3 name - category

CAT_ID(Pkey, bigint, auot inc),
CAT_NAME

1.What 是 SELECT 的正确查询,并通过连接 3 个表来列出数据,这些表应显示结果为:

ProductsPID, CATALOG_NO, PRODUCT_NAME, COMPO, SIZE, PRICE, SUBCATEGORY_NAME, CAT_NAME

2.What 是通过一个表单使用一个查询来更新和删除上述连接记录的正确方法吗?

3.Is 也可以通过单个查询插入记录,使用单个 html 表单,包含产品名称(输入 type=text),目录号(输入 type=text),组合(输入 type=text),大小(输入 type=text),价格(输入 type=text)等字段),选择子类别(选择带选项的类型字段),类别(选择带选项的类型字段),如果是,那么如何?

请帮助,紧急。

1 回答

  • 0
    SELECT
      p.PID AS ProductsPID,
      p.CATALOG_NO, 
      p.PRODUCT_NAME, 
      p.COMPOSITION AS COMPO, 
      p.SIZE, 
      p.PRICE, 
      s.SUBCATEGORY_NAME,
      c.CAT_NAME
    FROM products p
      INNER JOIN subcategory s
        ON p.SUBCAT_ID = s.SUBCAT_ID
      INNER JOIN category c
        ON s.CAT_ID = c.CAT_ID
    

    更新和删除在某些情况下也可以使用连接(不在外键上),但您可能只需要更改产品表。 insert 必须在各个表上。

相关问题