[英]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.