2013-04-23 49 views
1

如何爲查詢創建交易?對於每個新帳戶,我將創建210個新記錄到數據庫中。我需要交易,因爲210個查詢需要時間,我使用mysql_insert_id()來獲取最後插入的ID。這裏的代碼:使用double內部的交易循環

$sql = "INSERT INTO bla bla...."; 

$result = mysql_query($sql); 
$lastid = mysql_insert_id(); 

if($result) 
{ 
    for($i=0; $i<=6; $i++) 
    { 
     for($j=1; $j<=30; $j++) 
     { 
      $query_day = date('Y-m-d', strtotime('+'.$i.' days 1 hours')); 
      $sql_insert = "INSERT INTO `e-heal`.`scr` (`sc_id`, `d_id`, `hour_id`, `date`, `a`) VALUES (NULL, '$lastid', '$j', '$query_day', '0');"; 
      mysql_query($sql_insert); 
     } 
    }  
} 
+0

「我需要交易,因爲」---它沒有解釋**爲什麼**你需要交易。如果沒有他們,你可以做你需要的東西 – zerkms 2013-04-23 23:30:36

+0

如果2個或更多用戶同時點擊註冊按鈕? 爲一個用戶需要3-4秒將記錄添加到數據庫.. – MoonFox 2013-04-23 23:32:04

+0

「如果2個或更多用戶同時點擊註冊按鈕」 - 是嗎? 「對於一個用戶需要3-4秒將記錄添加到數據庫中」 - 所以?交易**不要**提高性能 – zerkms 2013-04-23 23:35:10

回答

1

你不需要在這裏交易 - mysql_insert_id()擔保從當前會話返回最新的自動增量值。