如何从第二个表中获取相应的条目并在第一个表中更新 - Mysql

时间:2015-09-26 14:15:13

标签: mysql

table_products - pid, pname;
table_categories - cid, cname
table_product_category - pid, cid

table_products - id, name, category_id;
table_categories - cid, cname

由于产品只能属于一个类别,因此决定将table_products和table_product_category表合并到一个表中。为此,table_products中添加了一个新列。

现在,在table_product_category表的table_products中添加相应的category_id的最佳方法是什么。

1 个答案:

答案 0 :(得分:1)

您可以使用alter table添加列,然后更新值:

alter table table_products add category_id int;

update table_products p join
       table_product_category pc
       on pc.pid = p.id
    set p.category_id = pc.cid;

您可能还应该添加外键约束:

alter table table_products
    add constraint fk_product_categoryid
        foreign key (category_id) references table_category(id);