【问题标题】:Moving deleted records to another table将删除的记录移动到另一个表
【发布时间】:2016-02-07 05:39:09
【问题描述】:

我正在尝试将记录从表 studentrecords 移动到 passivestudents,但我无法做到。到目前为止我已经尝试过了。

<?php
    $db = new mysqli("localhost", "root", "","learndb");
    if ($db->connect_error) {
        die("Connection failed this is the error: " . $db->connect_error);
       }
    $id=$_GET['id'];
    $sql="INSERT INTO passivestudents VALUES (DELETE FROM studentrecords WHERE id=$id)";
    $result=$db->query($sql);
    if(!$result)
    {
        echo"ERROR MOVING";
    }
    else
    {
        echo "<center><p style=\"color:green\">Information Moved!</p></center>";
    }
    ?>

【问题讨论】:

  • 这已在this post 中得到回答,从一张桌子移动到另一张桌子
  • @QuintonZinn 试过了。
  • 反转查询顺序,首先插入第二个表,然后从第一个表中删除。
  • 您不能在 INSERT 查询中使用 where 子句。尝试更新而不是它。你的查询也是错误的。您必须在将结果插入另一个表之前获取结果。

标签: php mysql


【解决方案1】:

您的查询是错误的。你想删除一些 id 的学生吗?真的吗?

所以请按照以下步骤操作:

1-INSERT INTO your_sec_table (select * from first_Table where id= $id;

2-DELETE FROM first_table WHERE id=$id

【讨论】:

  • 我试过这个 $sql="INSERT INTO passivestudents (select* FROM studentrecords WHERE id=$id); DELETE FROM studentrecords WHERE id=$id"; $result=$db-&gt;query($sql); 但失败了。
  • $sql1="INSERT INTO passivestudents (select* FROM studentrecords WHERE id=$id)"; $sql2="DELETE FROM studentrecords WHERE id=$id"; $db-&gt;query($sql1); $db-&gt;query($sql2);@micky
  • 你有teamviewer软件吗?
  • 你必须调试你的代码,看看哪个部分有错误! ,可能是字段不匹配,或者其他原因。
猜你喜欢
  • 2016-05-27
  • 1970-01-01
  • 1970-01-01
  • 2017-08-23
  • 2017-04-25
  • 1970-01-01
  • 2017-09-23
  • 1970-01-01
相关资源
最近更新 更多