我是 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/