簡體   English   中英

如何循環最后插入的ID

[英]How do I loop last insert id

我有這些查詢集,除了我只能從UPDATE查詢中的LAST_INSERT_ID()中獲取一個值外,它的工作正常。

   $query .= "INSERT into itemorders 
   (itemID,colourID,itemName,itemSize,itemPrice,quantity,orderID) SELECT 
     itemID,colourID,itemName,itemSize,itemPrice,quantity, 
     LAST_INSERT_ID() FROM mycart WHERE email='".$email."'; ";

     $query .= "UPDATE CatalogueItemsSize p
     INNER JOIN itemorders i ON p.size = i.itemSize AND p.colourID = 
     i.colourID SET p.quantity = p.quantity - i.quantity WHERE i.id = 
     LAST_INSERT_ID();";

我知道它只能檢索最后插入的單行,如何循環此行以便可以捕獲在第一個查詢中插入的所有值?

當前,它僅從CatalogueItemsSize表中減去一行。

最后插入ID僅返回最后插入記錄的ID。

如果需要獲取插入的每個記錄的最后一個插入ID,則需要運行SELECT語句,獲取結果,然后為SELECT中的每個記錄運行INSERT語句,然后使用last_insert_id()運行更新

另外,在您的INSERT語句中,last_insert_id()可能會導致錯誤,或者至少會產生意想不到的后果。

暫無
暫無

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

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