php и mysql копируют запись из одной таблицы в другую

Я хочу заархивировать учащегося, переместив запись из одной таблицы в другую. Вот код, который я пытаюсь использовать:

<?php
ini_set('memory_limit', '100M');
$sql="Select * from `register` where student_id=".$student_id;
$result=mysql_query($sql);
$row=mysql_fetch_array($result);

//Call the function to archive the table
//Function definition is given below
archive_record(archive,$row);

//Once you archive, delete the record from original table

$sql = "Delete from `register` where student_id=".$student_id;
mysql_query($sql);


function archive_record($archived_tablename,$row)
{
    $sql = "insert into $archived_tablename values(";
    $i=0;
    while($i<(count($row)-1))
    {
        $sql.="'".$row[$i]."',";
    }
    $i=$i+1;

    $sql.="'".$row[$i]."'";
    $sql.=")";

    mysql_query($sql);
    return true;
}

Проблема, с которой я столкнулся в том, что я получаю сообщение об ошибке:

Неустранимая ошибка: Недостаточно памяти (выделено 80478208) (пытался выделить 80216043 байта) в /archive-student.php в строке XX

Есть ли другой способ сделать это, за исключением столбца с именем архив и изменения от 0 до 1?Это потому, что у меня есть 30-50 страниц, выбирающих записи таблицы.:)

8
задан David Passmore 9 March 2012 в 09:55
поделиться