php - PHP和mysql将记录从一个表复制到另一个表

标签 php mysql copy

我想通过将记录从一张桌子移到另一张桌子来对学生进行归档。这是我尝试使用的代码:

<?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;
}


我遇到的问题是我遇到了错误:

致命错误:XX行/archive-student.php中的内存不足(已分配80478208)(试图分配80216043字节)

除了有一个称为archive的列并从0更改为1之外,是否有其他方法可以执行此操作?这是因为我有30-50页选择表的记录。 :)

最佳答案

INSERT INTO archive_table
SELECT * FROM original_table WHERE id = 1


就那么简单。

如果表具有不同的列号,其他布局等,则必须指定列:too

INSERT INTO archive_table(field1, field2, field3)
SELECT field7, field8, field9 FROM original_table WHERE id = 1

关于php - PHP和mysql将记录从一个表复制到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27742949/

相关文章:

SQL Server 过程/函数将表复制到另一个数据库

javascript - 检查是否启用了复制和粘贴

php - 无法在 HTML 文件中调用 PHP 函数,尝试在不同的代码中使用相同的代码,它工作正常但在这里不行

c# - 快速将 Bitmap 转换为 BitmapSource wpf

php - Cron 使缓存文件不可写

c# - 尝试生成大量以 mysql 数据库内容作为源的组合框时遇到问题

java - "Unexpected end-of-input in VALUE_STRING"错误可能是什么原因

mysql - 我在连接到 mysql 的 Node js 中收到错误 "Cannot set headers after they are sent to the client"

php - 尝试使用 JavaScript 每 3 分钟调用一次函数

javascript - 处理 UTC 日期客户端