【发布时间】:2016-12-03 21:29:58
【问题描述】:
在 mysql 数据库中有一个名为“inventory_item”的表。 “id”、“product_id”和“quantity”是表的列。 “id”是主键,插入记录时自动生成。
当用户提交要向表中插入多条记录的表单时,可以在foreach循环中收集product_ids的所有数据及其数量。
所以我需要同时插入多条记录,并且只有在表中已经存在“product_id”而不作为新记录插入时才应该更新数量。
这是我的代码块..
foreach ($dataArray as $value) {
$pcid = $value["pcid"];
$quantity = $value["quantity"];
$sql = "
UPDATE table.inventory_item
SET quantity='$quantity'
WHERE product_category_id='$pcid'
IF ROW_COUNT()=0
INSERT INTO table.inventory_item
(product_category_id, quantity)
VALUES ('$pcid', '$quantity')
";
$result = $conn->query($sql);
var_dump($result);
}
【问题讨论】:
-
您只是想用以前的数量更新现有项目的数量或添加旧的数量?
-
您需要发出多个语句,因此请确保在事务(
begin和commit)中执行此操作以保持数据完整性。