在另一个表中插入新行和更新关系键

时间:2014-10-14 04:37:56

标签: mysql stored-procedures triggers stored-functions

我将这三张表用于说明目的;

从各种来源导入的所有产品都会添加到此表中。

desc data_import;
+----------+------------------+------+-----+---------+----------------+
| Field    | Type             | Null | Key | Default | Extra          |
+----------+------------------+------+-----+---------+----------------+
| id       | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| retailer | varchar(255)     | YES  |     | NULL    |                |
| brand    | varchar(255)     | YES  |     | NULL    |                |
| title    | varchar(255)     | YES  |     | NULL    |                |
+----------+------------------+------+-----+---------+----------------+

select * from data_import;
+----+----------+---------+--------------+
| id | retailer | brand   | title        |
+----+----------+---------+--------------+
|  1 | Amazon   | Samsung | Galaxy Alpha |
|  2 | Newegg   | Samsung | Galaxy Alpha |
+----+----------+---------+--------------+

此表格为每个零售商提供独特的产品。

desc products;
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| title | varchar(255)     | YES  |     | NULL    |                |
+-------+------------------+------+-----+---------+----------------+

select * from products;
+----+--------------+
| id | title        |
+----+--------------+
|  1 | Galaxy Alpha |
+----+--------------+

这是关系表。

desc products_rels;
+----------------+------------------+------+-----+---------+----------------+
| Field          | Type             | Null | Key | Default | Extra          |
+----------------+------------------+------+-----+---------+----------------+
| id             | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| data_import_id | int(10) unsigned | YES  |     | 0       |                |
| product_id     | int(10) unsigned | YES  |     | 0       |                |
| retailer_id    | int(10) unsigned | YES  |     | 0       |                |
| brand_id       | int(10) unsigned | YES  |     | 0       |                |
+----------------+------------------+------+-----+---------+----------------+

select * from products_rels;
+----+----------------+------------+-------------+----------+
| id | data_import_id | product_id | retailer_id | brand_id |
+----+----------------+------------+-------------+----------+
|  1 |              1 |          1 |           1 |        1 |
|  2 |              2 |          0 |           2 |        1 |
+----+----------------+------------+-------------+----------+

如何为零售商Galaxy Alpha添加Neweggproducts并更新表products_rels中的关系密钥?

这是否可能,我该如何实现?

0 个答案:

没有答案