INSNER INNER JOIN

时间:2014-01-06 13:06:04

标签: mysql select insert foreign-keys

我首先搜索了它,但是我找不到我真正想要的东西。 好吧,我不是mySQL的专家,因此我有一点需要解决。

所以,我有2个表:MATERIALS和ORDERS如下:

订单: Id_O | Client | material | etc..

材料: Id_M | Id_O

注意:1对多关系。

我有表“命令”来注册所有数据。 第二个表“材料”用于识别属于同一ID的材料,这意味着我将拥有材料:'material1','material2'等,用于ID ='1'的订单。 然后我想将该信息显示为列表。

  • OT_1 Material_1 - description1
  • OT_1 Material_2 - description2 ...

因此,要收集这些数据,我如何才能使查询正常工作?事实上,这是我的疑问。 因为当我提交订单时,我希望能够同时注册2或3个材料,与我之前说的ID相同。

感谢。

1 个答案:

答案 0 :(得分:0)

如果你正在谈论一对多的关系(一个订单可以有很多材料),那么你将得到你的orderID和你的材料数组并循环它。

但是,在此配置中,您不应在“orders”表中包含“material”。

我需要查看订单中数据的示例,但假设列表:

$stmt = $db->query('SELECT * FROM orders');
$insert = $db->prepare('INSERT INTO materials VALUES (?,?)'); 
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $materials = explode(",", $row['material']);
    foreach($materials as $material) {
         $insert->execute(array($row["id_O"], $material));
    }
}