如何获得自动递增的值

迪恩

我这里有一张与客户订单相对应的表格。AUTO_INCREMENT用来确定订单的ID。我在orders表中有此SQL代码

CREATE TABLE IF NOT EXISTS `orders` (
  `order_id` int(11) NOT NULL AUTO_INCREMENT,
  `customer_id` int(11) NOT NULL,
  `customer_name` varchar(500) NOT NULL,
  `order_total_price` decimal(20, 2) NOT NULL,
  `order_date` varchar(100) NOT NULL,
  PRIMARY KEY (`order_id`)
) ENGINE=InnoDB

我需要将该订单的每个产品插入带有外键的另一个表中,order_id以指定产品所属的订单。purchased_products的SQL代码为

CREATE TABLE IF NOT EXISTS `purchased_products` (
  `order_id` int (11) NOT NULL,
  FOREIGN KEY (`order_id`) REFERENCES orders(`order_id`),
  `product_name` varchar(500) NOT NULL,
  `product_price` decimal(20, 2) NOT NULL,
  `product_quantity` int(11) NOT NULL,
  PRIMARY KEY (`order_id`)
) 

当用户购买东西时,我使用它在orders表中插入数据

INSERT INTO orders (customer_id, customer_name, order_total_price, order_date)
VALUES ('{$customer_id}', '{$customer['customer_name']}', '{$order_total_price}', '{$order_date}')";

这是我的问题。我需要在purchased_products表中插入生成了订单ID的产品:

INSERT INTO purchased_products (order_id, product_name, product_price, product_quantity)
VALUES ('*/The ID of the order need to goes here*/', '{$product['product_name']}', '{$product['product_price']}', '{$product['quantity']}')";

这让我头疼。我真的不知道该怎么做。这应该以其他方式完成吗?如何将订单ID与所属产品关联?

迪恩

我通过使用PDOlastInsertId()来获取上次插入订单的ID:

$sql = "INSERT INTO orders (customer_id, customer_name, order_total_price, order_date)
        VALUES ('{$customer_id}', '{$customer['customer_name']}', '{$order_total_price}', '{$order_date}')";

$query = $connection->prepare($sql);    
$query->execute();

$respective_order_id = $connection->lastInsertId();

接着:

INSERT INTO purchased_products (order_id, product_name, product_price, product_quantity)
VALUES ('{$respective_order_id}', '{$product['product_name']}', '{$product['product_price']}', '{$product['quantity']}')";

感谢所有尝试提供帮助的人!他们以正确的方式给我!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何设置条件的自动递增列值

来自分类Dev

如何在CouchDB文档中插入自动递增/序号值?

来自分类Dev

如何按字母顺序实现自动递增列值?

来自分类Dev

MySQL获得下一个零填充自动递增的值

来自分类Dev

自动递增:如何自动递增组合键(错误1075)

来自分类Dev

MySQL更新递增(不自动递增)列值

来自分类Dev

Pyspark:从特定值开始自动递增

来自分类Dev

修改主键以从设定值自动递增

来自分类Dev

从自动递增列中委派值

来自分类Dev

TFS中版本值的自动递增

来自分类Dev

无法让表列从预设值自动递增

来自分类Dev

如何设置自动递增属性的初始值(DatabaseGeneratedOption.Identity)

来自分类Dev

如何对数据库中的字母数字值使用自动递增

来自分类Dev

如何将默认值设置为文本并在mysql表中自动递增

来自分类Dev

如果指定了Null值,如何防止sqlite3自动递增主键?

来自分类Dev

如何将字段值更新为自动递增的字段值?

来自分类Dev

如何对数据库中的字母数字值使用自动递增

来自分类Dev

如何根据另一个表中的最后一个值自动递增?

来自分类Dev

自动完成:如果没有选择值,如何自动获得焦点值

来自分类Dev

如何使MySQL表主键自动递增?

来自分类Dev

猫鼬字段如何自动递增

来自分类Dev

如何在postgres中执行自动递增?

来自分类Dev

如何在Swift中自动递增变量?

来自分类Dev

AWK:如何为自动递增编号?

来自分类Dev

如何保持自动递增批量加载

来自分类Dev

如何在python中自动递增

来自分类Dev

如何防止异常时自动递增?

来自分类Dev

如何 INSERT INTO Firebird,主键自动递增?

来自分类Dev

自定义SERIAL /每组值的自动递增

Related 相关文章

热门标签

归档