簡體   English   中英

PHP -MySQL insert和select語句-如何使其原子化?

[英]PHP -MySQL insert and select statements - how to make them atomic?

我是PHP的新手,我想知道如何克服這個看似簡單的問題:

我有一個帶有多個表的數據庫。 其中1個表稱為“ order_header”。 訂單標頭具有一個稱為“ orderID”的字段,該字段是primaryKey,並且會自動遞增。 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM