我有3张桌子。 “机器”,“产品”,“机器产品”。
我的想法是将机器信息存储在“ machines”表中,并将“ machine_id”列设置为PRIMARY&UNIQUE,然后对“ products”表执行相同的操作,该列的名称为“ product_id”。
一台机器可能具有一个或多个产品,因此它们在“ machine_products”表中都匹配
表示例如下。
机器表
+------------+------------------+ | machine_id | machine_code | +------------+------------------+ | 1 | C01.C03.C23 M.1 | +------------+------------------+ | 2 | C07.08.09.10 M.1 | +------------+------------------+ | 3 | C11.12 MONT.1 | +------------+------------------+ | 4 | C13.14.21 MONT.1 | +------------+------------------+ | 5 | C22 MONT.1 | +------------+------------------+
产品表
+------------+--------------+ | product_id | product_code | +------------+--------------+ | 1 | C01.00 | +------------+--------------+ | 2 | C01.11 | +------------+--------------+ | 3 | C01.21 | +------------+--------------+ | 4 | C03.00 | +------------+--------------+ | 5 | C03.01 | +------------+--------------+
machine_products表
+----+------------+------------+ | id | machine_id | product_id | +----+------------+------------+ | 1 | 1 | 70 | +----+------------+------------+ | 2 | 1 | 73 | +----+------------+------------+ | 3 | 1 | 78 | +----+------------+------------+ | 4 | 1 | 83 | +----+------------+------------+ | 5 | 2 | 100 | +----+------------+------------+ | 6 | 2 | 208 | +----+------------+------------+ | 7 | 3 | 101 | +----+------------+------------+ | 8 | 3 | 108 | +----+------------+------------+ | 9 | 3 | 112 | +----+------------+------------+ | 10 | 4 | 113 | +----+------------+------------+
我的问题是我想通过使用“ machine_code”列数据将数据插入“ machine_products”表中
当我拥有machine_products
和product_code
时,如何将记录添加到machine_code
表中?
答案 0 :(得分:0)
您可以在机器和产品之间使用笛卡尔积
并插入select
insert into machine_products ( machine_id, product_id)
select a.id, b.id
from machine a
cross join products b
这样,将机器和产品之间的所有可能组合都插入到machine_products表中
答案 1 :(得分:0)
1)在Machines表中插入数据Machines表图像您获得了Machine表插入ID($ machine_id)
2)在“产品”表产品表图像中插入并获得product_id($ product_id)注意:您应在产品表中更新$ machine id
3)插入machine_products表machine_products表图像注意:在这里,您应该更新$ machine id&$ product id
答案 2 :(得分:0)
你能试试吗
Insert into machine_products ( machine_id, product_id) values( (select machine_id from machines where machine_code = $machine_code), (select product_id from products where product_code=$product_code))
您可以用$ machine_code和$ product_code代替您自己的值