在double for循环中使用事务

时间:2013-04-23 23:28:57

标签: php mysql for-loop transactions

如何为查询创建交易?对于每个新帐户,我将在数据库中创建210条新记录。我需要交易,因为210查询需要时间,我使用mysql_insert_id()来获取最后插入的ID。这里是代码:

$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);
         }
    }     
}

1 个答案:

答案 0 :(得分:1)

此处不需要交易 - mysql_insert_id() 保证以从当前会话返回最新的自动增量值。