PHP -MySQL 插入和选择语句 - 如何使它们成为原子的?

标签 php mysql insert atomic

我是 PHP 的新手,我想知道如何克服这个看似简单的问题:

我有一个包含多个表的数据库。其中 1 个表称为“order_header”。订单 header 有一个名为“orderID”的字段,它是主键并且会自动递增。 OrderID 用于数据库中的其他表(food_table、drinks_table、merchant_info、customer_info 等),并且对于特定订单是唯一的。

现在我使用通常的 INSERT 语句将数据插入到 order_header 中,order_header 生成一个新的 orderID。但现在我需要检索我刚刚创建的 orderID 并使用它来将数据插入到该数据库的其他表中。

问题是如何在一个原子方法中既插入数据又检索生成的 orderID?我无法使用 mySQL 查询获取最后一个 orderID,因为如果同时另一个线程在 orderID 中插入了一个条目怎​​么办。

我想在 Java 中可以使用锁和 @synchronized 这个词,但在 PHP 中如何做到这一点呢?

最佳答案

使用mysql_insert_id查询后直接。它不会运行另一个查询来查找最后一个 ID

关于PHP -MySQL 插入和选择语句 - 如何使它们成为原子的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6976773/

相关文章:

php - 使用 php 从快照获取 Azure 文件

php - 可以扩展一个 php 函数吗?

MySql 使用唯一键约束递增单元格值

php - 为什么我的 PHP/MySQL 是插入而不是更新?

近30天内失约的MYSQL语句

php - 将特定记录设置为行第一行 Laravel 查询生成器

php - 如何统计记录总数并显示?

php - 如何使用 Predis 和 redis-cli 连接到同一个 redis 数据库?

php - 一种产品有多种价格

azure - 我们可以在Azure databricks数据库的表的几列中插入数据吗?