将mysql行移动到同一数据库中的另一个表

时间:2014-07-11 00:57:22

标签: php mysql

显然,当涉及到这些东西时,我是一个n00b。我感谢本网站给予我的所有帮助。所以我再次坚持一些事情。我想将一个表(约会)中的条目复制到另一个表(已删除)。我在删除条目方面得到了一些帮助,代码将在主代码中,所以这里是:

$stmt = mysqli_prepare($transport, "DELETE FROM appointments WHERE id = ?");

mysqli_stmt_bind_param($stmt, "i", $id);
foreach ($_POST['delete'] as $id) 
    {
        mysqli_stmt_execute($stmt);
    }

删除代码就像魅力一样。我还有代码来更新字段:

$size = count($_POST['room_n']);
$i=0;
while ($i < $size)
{
    $room_n = mysqli_real_escape_string($transport, $_POST['room_n'][$i]);
    $id = $_POST['id'][$i];
    $sql = "UPDATE appointments SET room = '$room_n' WHERE id = $id";
    mysqli_query($transport, $sql) or die('Error: ' . mysqli_error($transport));

    ++$i;

}

其中100%也有效。我尝试使用相同类型的while循环将已删除的项目插入到删除表中,它只是给了我错误。我也尝试将插入代码放在mysqli_stmt_execute前面,我觉得它没有发布。所以我不确定我能做什么。再次感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以使用功能INSERT ... SELECT

INSERT INTO `deleted` SELECT * FROM appointments WHERE id = $id

P.S。不要忘记使用事务,因为您正在使用两个查询执行操作。

P.P.S。最好添加状态字段,例如id_deleted

P.P.P.S。不要使用mysql_函数