【问题标题】:how to update a table and insert a new record to another table in one query?如何在一个查询中更新表并将新记录插入另一个表?
【发布时间】:2012-10-17 05:56:32
【问题描述】:

我在 mysql 中有两个表,即产品和销售。产品包含库存,销售包含采购记录。现在,当我将销售项目的数量插入到销售表中时,我想从库存中销售产品,那么作为产品表的库存中应该减少相同的数量。请帮我查询。

卖表插入。

    $cus_id = $_POST['customer'];
$reg_id = $_POST['cus_region'];
$cat_id = $_POST['product'];
$name = $_POST['name'];
$price = $_POST['unit_price'];
$quantity = $_POST['quantity'];
$date = $_POST['datepicker'];
$total = $price * $quantity;
$payment = $_POST['payment'];
$remainig = $total - $payment;

$query = "INSERT INTO sell SET cus_id = '".$cus_id."',reg_id = '".$reg_id."', cat_id = '".$cat_id."',product = '".$ name."', sell_price = '".$price."', sell_date = '".$date."',item_quantity = '".$quantity."',amount_paid= '".$payment."',total_price = '".$total."', 剩余 = '".$remainig."'";

$res = mysql_query($query);

【问题讨论】:

  • 销售表字段.. id,cus_id,reg_id,cat_id,product, sell_price, sell_date,item_quantity,amount_paid,total_price,remaining。并且产品表包含字段..id cat_id product_name product_unitprice,product_quantity,total_price,product_payment,remaining_payment,purchasing_date

标签: php phpmyadmin


【解决方案1】:

两种解决方法,

1)如果您要获取产品数量,您可以进行第二次查询以从堆栈表(产品表)中扣除数量

2) 您可以将触发器用于此类操作,同时将相同数量插入到销售表中,您可以从产品表中减少相同的数量

【讨论】:

    【解决方案2】:

    您只需更改或减少 PRODUCT 表中产品的数量。所以,你必须使用 UPDATE 查询。

    这可以解决您的问题: 1) 我认为您的cat_id 是唯一的产品密钥,用于识别您的 PRODUCT 表中的产品。

    2) 我认为您在 PRODUCT 表中有 quantity 列,该列存储产品的数量。一次销售 1 件产品。

    更新TABLE_NAME 设置quantity=quantity - 1 WHERE cat_id = "SOME_INT_ID_WITHOUT_QUOTES"

    【讨论】:

    • 感谢 Prashnth,我从您的回答中得到了想法并且已经做到了。谢谢
    猜你喜欢
    • 2013-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多