删除后如何发现最后一个id并设置新的autoincrement mysql数据行

时间:2013-01-22 12:26:25

标签: php mysql codeigniter

我有一个问题,我在2个表中通过id从mysql中删除数据,但在销售表上我希望在删除后保留相同的ID。当我添加新的销售时,保留最后删除的ID。

例如,我在删除时销售ID为100,在创建新销售时,ID为101。 如果我删除,我想要的是保持100。

这是我的基于codeigniter的模型:

public function getAllInvoiceItems($sale_id) 
    {
        $q = $this->db->get_where('sale_items', array('sale_id' => $sale_id));
        if($q->num_rows() > 0) {
            foreach (($q->result()) as $row) {
                $data[] = $row;
            }

            return $data;
        }
    }

    public function getInvoiceByID($id)
        {

            $q = $this->db->get_where('sales', array('id' => $id), 1); 
              if( $q->num_rows() > 0 )
              {
                return $q->row();
              } 

              return FALSE;

        }

        public function deleteInvoice($id) 
        {
            $inv = $this->getInvoiceByID($id);
            $warehouse_id = $inv->warehouse_id;
            $items = $this->getAllInvoiceItems($id);

            foreach($items as $item) {
                $product_id = $item->product_id;
                $item_details = $this->getProductQuantity($product_id, $warehouse_id);
                $pr_quantity = $item_details['quantity'];
                $inv_quantity = $item->quantity;
                $new_quantity = $pr_quantity + $inv_quantity;

                $this->updateQuantity($product_id, $warehouse_id, $new_quantity);

            }

            if($this->db->delete('sale_items', array('sale_id' => $id)) && $this->db->delete('sales', array('id' => $id))) {
                return true;
            }
        return FALSE;
        }

0 个答案:

没有答案